LibDriver SX1262
Loading...
Searching...
No Matches
driver_sx1262_register_test.c
Go to the documentation of this file.
1
36
38#include <stdlib.h>
39
40static sx1262_handle_t gs_handle;
41
50{
51 uint8_t res;
52 uint8_t v, v_check;
53 uint8_t addr, addr_check;
54 uint8_t i;
55 uint16_t value, value_check;
56 uint8_t sync_word[8];
57 uint8_t sync_word_check[8];
58 uint8_t setup, setup_check;
59 uint32_t rand_number;
60 uint8_t modulation, modulation_check;
61 uint8_t gain, gain_check;
62 uint8_t config, config_check;
63 uint8_t ocp, ocp_check;
64 uint8_t control, control_check;
65 uint8_t trim, trim_check;
66 uint8_t mask, mask_check;
67 uint8_t enable, enable_check;
68 double us, us_check;
69 uint32_t freq, freq_check;
70 uint32_t br, br_check;
71 uint32_t reg;
73 sx1262_info_t info;
74
75 /* link interface function */
89
90 /* get information */
91 res = sx1262_info(&info);
92 if (res != 0)
93 {
94 sx1262_interface_debug_print("sx1262: get info failed.\n");
95
96 return 1;
97 }
98 else
99 {
100 /* print chip info */
101 sx1262_interface_debug_print("sx1262: chip is %s.\n", info.chip_name);
102 sx1262_interface_debug_print("sx1262: manufacturer is %s.\n", info.manufacturer_name);
103 sx1262_interface_debug_print("sx1262: interface is %s.\n", info.interface);
104 sx1262_interface_debug_print("sx1262: driver version is %d.%d.\n", info.driver_version / 1000, (info.driver_version % 1000) / 100);
105 sx1262_interface_debug_print("sx1262: min supply voltage is %0.1fV.\n", info.supply_voltage_min_v);
106 sx1262_interface_debug_print("sx1262: max supply voltage is %0.1fV.\n", info.supply_voltage_max_v);
107 sx1262_interface_debug_print("sx1262: max current is %0.2fmA.\n", info.max_current_ma);
108 sx1262_interface_debug_print("sx1262: max temperature is %0.1fC.\n", info.temperature_max);
109 sx1262_interface_debug_print("sx1262: min temperature is %0.1fC.\n", info.temperature_min);
110 }
111
112 /* start register test */
113 sx1262_interface_debug_print("sx1262: start register test.\n");
114
115 /* init the sx1262 */
116 res = sx1262_init(&gs_handle);
117 if (res != 0)
118 {
119 sx1262_interface_debug_print("sx1262: init failed.\n");
120
121 return 1;
122 }
123
124 /* set standby mode */
126 if (res != 0)
127 {
128 sx1262_interface_debug_print("sx1262: set standby failed.\n");
129 (void)sx1262_deinit(&gs_handle);
130
131 return 1;
132 }
133
134 /* sx1262_write_register/sx1262_read_register test */
135 sx1262_interface_debug_print("sx1262: sx1262_write_register/sx1262_read_register test.\n");
136
137 control = rand() % 256;
138 res = sx1262_write_register(&gs_handle, 0x06BC, (uint8_t *)&control, 1);
139 if (res != 0)
140 {
141 sx1262_interface_debug_print("sx1262: write register failed.\n");
142 (void)sx1262_deinit(&gs_handle);
143
144 return 1;
145 }
146 sx1262_interface_debug_print("sx1262: set register 0x%02X.\n", control);
147 res = sx1262_read_register(&gs_handle, 0x06BC, (uint8_t *)&control_check, 1);
148 if (res != 0)
149 {
150 sx1262_interface_debug_print("sx1262: read register failed.\n");
151 (void)sx1262_deinit(&gs_handle);
152
153 return 1;
154 }
155 sx1262_interface_debug_print("sx1262: check register %s.\n", control_check == control ? "ok" : "error");
156
157 /* sx1262_write_buffer/sx1262_read_buffer test */
158 sx1262_interface_debug_print("sx1262: sx1262_write_buffer/sx1262_read_buffer test.\n");
159
160 control = rand() % 256;
161 res = sx1262_write_buffer(&gs_handle , 0, (uint8_t *)&control, 1);
162 if (res != 0)
163 {
164 sx1262_interface_debug_print("sx1262: write buffer failed.\n");
165 (void)sx1262_deinit(&gs_handle);
166
167 return 1;
168 }
169 sx1262_interface_debug_print("sx1262: set buffer 0x%02X.\n", control);
170 res = sx1262_read_buffer(&gs_handle, 0, (uint8_t *)&control_check, 1);
171 if (res != 0)
172 {
173 sx1262_interface_debug_print("sx1262: read buffer failed.\n");
174 (void)sx1262_deinit(&gs_handle);
175
176 return 1;
177 }
178 sx1262_interface_debug_print("sx1262: check buffer %s.\n", control_check == control ? "ok" : "error");
179
180 /* sx1262_timeout_convert_to_register/sx1262_timeout_convert_to_data test */
181 sx1262_interface_debug_print("sx1262: sx1262_timeout_convert_to_register/sx1262_timeout_convert_to_data test.\n");
182
183 us = (rand() % 10000) / 10.0;
184 res = sx1262_timeout_convert_to_register(&gs_handle, us, (uint32_t *)&reg);
185 if (res != 0)
186 {
187 sx1262_interface_debug_print("sx1262: timeout convert to register failed.\n");
188 (void)sx1262_deinit(&gs_handle);
189
190 return 1;
191 }
192 sx1262_interface_debug_print("sx1262: set timeout %f us.\n", us);
193 res = sx1262_timeout_convert_to_data(&gs_handle, reg, (double *)&us_check);
194 if (res != 0)
195 {
196 sx1262_interface_debug_print("sx1262: timeout convert to data failed.\n");
197 (void)sx1262_deinit(&gs_handle);
198
199 return 1;
200 }
201 sx1262_interface_debug_print("sx1262: check timeout %f us.\n", us_check);
202
203 /* sx1262_frequency_convert_to_register/sx1262_frequency_convert_to_data test */
204 sx1262_interface_debug_print("sx1262: sx1262_frequency_convert_to_register/sx1262_frequency_convert_to_data test.\n");
205
206 freq = 47000000;
207 res = sx1262_frequency_convert_to_register(&gs_handle, freq, (uint32_t *)&reg);
208 if (res != 0)
209 {
210 sx1262_interface_debug_print("sx1262: frequency convert to register failed.\n");
211 (void)sx1262_deinit(&gs_handle);
212
213 return 1;
214 }
215 sx1262_interface_debug_print("sx1262: set frequency %d Hz.\n", freq);
216 res = sx1262_frequency_convert_to_data(&gs_handle, reg, (uint32_t *)&freq_check);
217 if (res != 0)
218 {
219 sx1262_interface_debug_print("sx1262: frequency convert to data failed.\n");
220 (void)sx1262_deinit(&gs_handle);
221
222 return 1;
223 }
224 sx1262_interface_debug_print("sx1262: check frequency %d Hz.\n", freq_check);
225
226 /* sx1262_gfsk_bit_rate_convert_to_register/sx1262_gfsk_bit_rate_convert_to_data test */
227 sx1262_interface_debug_print("sx1262: sx1262_gfsk_bit_rate_convert_to_register/sx1262_gfsk_bit_rate_convert_to_data test.\n");
228
229 br = 470000;
230 res = sx1262_gfsk_bit_rate_convert_to_register(&gs_handle, br, (uint32_t *)&reg);
231 if (res != 0)
232 {
233 sx1262_interface_debug_print("sx1262: gfsk bit rate convert to register failed.\n");
234 (void)sx1262_deinit(&gs_handle);
235
236 return 1;
237 }
238 sx1262_interface_debug_print("sx1262: set bit rate %d Hz.\n", br);
239 res = sx1262_gfsk_bit_rate_convert_to_data(&gs_handle, reg, (uint32_t *)&br_check);
240 if (res != 0)
241 {
242 sx1262_interface_debug_print("sx1262: gfsk bit rate convert to data failed.\n");
243 (void)sx1262_deinit(&gs_handle);
244
245 return 1;
246 }
247 sx1262_interface_debug_print("sx1262: check bit rate %d Hz.\n", br_check);
248
249 /* sx1262_gfsk_frequency_deviation_convert_to_register/sx1262_gfsk_frequency_deviation_convert_to_data test */
250 sx1262_interface_debug_print("sx1262: sx1262_gfsk_frequency_deviation_convert_to_register/sx1262_gfsk_frequency_deviation_convert_to_data test.\n");
251
252 freq = 10000;
253 res = sx1262_gfsk_frequency_deviation_convert_to_register(&gs_handle, freq, (uint32_t *)&reg);
254 if (res != 0)
255 {
256 sx1262_interface_debug_print("sx1262: gfsk frequency deviation convert to register failed.\n");
257 (void)sx1262_deinit(&gs_handle);
258
259 return 1;
260 }
261 sx1262_interface_debug_print("sx1262: gfsk frequency deviation %d Hz.\n", freq);
262 res = sx1262_gfsk_frequency_deviation_convert_to_data(&gs_handle, reg, (uint32_t *)&freq_check);
263 if (res != 0)
264 {
265 sx1262_interface_debug_print("sx1262: gfsk frequency deviation convert to data failed.\n");
266 (void)sx1262_deinit(&gs_handle);
267
268 return 1;
269 }
270 sx1262_interface_debug_print("sx1262: check gfsk frequency deviation %d Hz.\n", freq_check);
271
272 /* sx1262_set_packet_type/sx1262_get_packet_type test */
273 sx1262_interface_debug_print("sx1262: sx1262_set_packet_type/sx1262_get_packet_type test.\n");
274
275 /* set gfsk type */
277 if (res != 0)
278 {
279 sx1262_interface_debug_print("sx1262: set packet type failed.\n");
280 (void)sx1262_deinit(&gs_handle);
281
282 return 1;
283 }
284 sx1262_interface_debug_print("sx1262: set gfsk type.\n");
285 res = sx1262_get_packet_type(&gs_handle, &type);
286 if (res != 0)
287 {
288 sx1262_interface_debug_print("sx1262: get packet type failed.\n");
289 (void)sx1262_deinit(&gs_handle);
290
291 return 1;
292 }
293 sx1262_interface_debug_print("sx1262: check packet type %s.\n", type == SX1262_PACKET_TYPE_GFSK ? "ok" : "error");
294
295 /* set lora type */
297 if (res != 0)
298 {
299 sx1262_interface_debug_print("sx1262: set packet type failed.\n");
300 (void)sx1262_deinit(&gs_handle);
301
302 return 1;
303 }
304 sx1262_interface_debug_print("sx1262: set lora type.\n");
305 res = sx1262_get_packet_type(&gs_handle, &type);
306 if (res != 0)
307 {
308 sx1262_interface_debug_print("sx1262: get packet type failed.\n");
309 (void)sx1262_deinit(&gs_handle);
310
311 return 1;
312 }
313 sx1262_interface_debug_print("sx1262: check packet type %s.\n", type == SX1262_PACKET_TYPE_LORA ? "ok" : "error");
314
315 /* sx1262_set_fsk_whitening_initial_value/sx1262_get_fsk_whitening_initial_value test */
316 sx1262_interface_debug_print("sx1262: sx1262_set_fsk_whitening_initial_value/sx1262_get_fsk_whitening_initial_value test.\n");
317
318 value = 0x0100;
319 res = sx1262_set_fsk_whitening_initial_value(&gs_handle, value);
320 if (res != 0)
321 {
322 sx1262_interface_debug_print("sx1262: set fsk whitening initial value failed.\n");
323 (void)sx1262_deinit(&gs_handle);
324
325 return 1;
326 }
327 sx1262_interface_debug_print("sx1262: set fsk whitening initial value 0x%04X.\n", value);
328 res = sx1262_get_fsk_whitening_initial_value(&gs_handle, (uint16_t *)&value_check);
329 if (res != 0)
330 {
331 sx1262_interface_debug_print("sx1262: get fsk whitening initial value failed.\n");
332 (void)sx1262_deinit(&gs_handle);
333
334 return 1;
335 }
336 sx1262_interface_debug_print("sx1262: check fsk whitening initial value %s.\n", value_check == value ? "ok" : "error");
337
338 /* sx1262_set_fsk_crc_initical_value/sx1262_get_fsk_crc_initical_value test */
339 sx1262_interface_debug_print("sx1262: sx1262_set_fsk_crc_initical_value/sx1262_get_fsk_crc_initical_value test.\n");
340
341 value = rand() % 65536;
342 res = sx1262_set_fsk_crc_initical_value(&gs_handle, value);
343 if (res != 0)
344 {
345 sx1262_interface_debug_print("sx1262: set fsk crc initical value failed.\n");
346 (void)sx1262_deinit(&gs_handle);
347
348 return 1;
349 }
350 sx1262_interface_debug_print("sx1262: set fsk crc initical value 0x%04X.\n", value);
351 res = sx1262_get_fsk_crc_initical_value(&gs_handle, (uint16_t *)&value_check);
352 if (res != 0)
353 {
354 sx1262_interface_debug_print("sx1262: get fsk crc initical value failed.\n");
355 (void)sx1262_deinit(&gs_handle);
356
357 return 1;
358 }
359 sx1262_interface_debug_print("sx1262: check fsk crc initical value %s.\n", value_check == value ? "ok" : "error");
360
361 /* sx1262_set_fsk_crc_initical_value/sx1262_get_fsk_crc_initical_value test */
362 sx1262_interface_debug_print("sx1262: sx1262_set_fsk_crc_initical_value/sx1262_get_fsk_crc_initical_value test.\n");
363
364 value = rand() % 65536;
365 res = sx1262_set_fsk_crc_polynomial_value(&gs_handle, value);
366 if (res != 0)
367 {
368 sx1262_interface_debug_print("sx1262: set fsk crc polynomial value failed.\n");
369 (void)sx1262_deinit(&gs_handle);
370
371 return 1;
372 }
373 sx1262_interface_debug_print("sx1262: set fsk crc polynomial value 0x%04X.\n", value);
374 res = sx1262_get_fsk_crc_polynomial_value(&gs_handle, (uint16_t *)&value_check);
375 if (res != 0)
376 {
377 sx1262_interface_debug_print("sx1262: get fsk crc polynomial value failed.\n");
378 (void)sx1262_deinit(&gs_handle);
379
380 return 1;
381 }
382 sx1262_interface_debug_print("sx1262: check fsk crc polynomial value %s.\n", value_check == value ? "ok" : "error");
383
384 /* sx1262_set_fsk_sync_word/sx1262_get_fsk_sync_word test */
385 sx1262_interface_debug_print("sx1262: sx1262_set_fsk_sync_word/sx1262_get_fsk_sync_word test.\n");
386
387 for (i = 0; i < 8; i++)
388 {
389 sync_word[i] = rand() %256;
390 }
391 res = sx1262_set_fsk_sync_word(&gs_handle, (uint8_t *)sync_word);
392 if (res != 0)
393 {
394 sx1262_interface_debug_print("sx1262: set fsk sync word failed.\n");
395 (void)sx1262_deinit(&gs_handle);
396
397 return 1;
398 }
399 sx1262_interface_debug_print("sx1262: set fsk sync word 0x%02X 0x%02X 0x%02X 0x%02X 0x%02X 0x%02X 0x%02X 0x%02X.\n",
400 sync_word[0], sync_word[1], sync_word[2], sync_word[3],
401 sync_word[4], sync_word[5], sync_word[6], sync_word[7]);
402 res = sx1262_get_fsk_sync_word(&gs_handle, (uint8_t *)sync_word_check);
403 if (res != 0)
404 {
405 sx1262_interface_debug_print("sx1262: get fsk sync word failed.\n");
406 (void)sx1262_deinit(&gs_handle);
407
408 return 1;
409 }
410 sx1262_interface_debug_print("sx1262: check fsk sync word %s.\n", memcmp((uint8_t *)sync_word, (uint8_t *)sync_word_check, 8) == 0 ? "ok" : "error");
411
412 /* sx1262_set_fsk_node_address/sx1262_get_fsk_node_address test */
413 sx1262_interface_debug_print("sx1262: sx1262_set_fsk_node_address/sx1262_get_fsk_node_address test.\n");
414
415 addr = rand() %256;
416 res = sx1262_set_fsk_node_address(&gs_handle, addr);
417 if (res != 0)
418 {
419 sx1262_interface_debug_print("sx1262: set fsk node address failed.\n");
420 (void)sx1262_deinit(&gs_handle);
421
422 return 1;
423 }
424 sx1262_interface_debug_print("sx1262: set fsk node address 0x%02X.\n", addr);
425 res = sx1262_get_fsk_node_address(&gs_handle, (uint8_t *)&addr_check);
426 if (res != 0)
427 {
428 sx1262_interface_debug_print("sx1262: get fsk node address failed.\n");
429 (void)sx1262_deinit(&gs_handle);
430
431 return 1;
432 }
433 sx1262_interface_debug_print("sx1262: check fsk node address %s.\n", addr == addr_check ? "ok" : "error");
434
435 /* sx1262_set_fsk_broadcast_address/sx1262_get_fsk_broadcast_address test */
436 sx1262_interface_debug_print("sx1262: sx1262_set_fsk_broadcast_address/sx1262_get_fsk_broadcast_address test.\n");
437
438 addr = rand() %256;
439 res = sx1262_set_fsk_broadcast_address(&gs_handle, addr);
440 if (res != 0)
441 {
442 sx1262_interface_debug_print("sx1262: set fsk broadcast address failed.\n");
443 (void)sx1262_deinit(&gs_handle);
444
445 return 1;
446 }
447 sx1262_interface_debug_print("sx1262: set fsk broadcast address 0x%02X.\n", addr);
448 res = sx1262_get_fsk_broadcast_address(&gs_handle, (uint8_t *)&addr_check);
449 if (res != 0)
450 {
451 sx1262_interface_debug_print("sx1262: get fsk broadcast address failed.\n");
452 (void)sx1262_deinit(&gs_handle);
453
454 return 1;
455 }
456 sx1262_interface_debug_print("sx1262: check fsk broadcast address %s.\n", addr == addr_check ? "ok" : "error");
457
458 /* sx1262_set_iq_polarity/sx1262_get_iq_polarity test */
459 sx1262_interface_debug_print("sx1262: sx1262_set_iq_polarity/sx1262_get_iq_polarity test.\n");
460
461 setup = rand() %256;
462 res = sx1262_set_iq_polarity(&gs_handle, setup);
463 if (res != 0)
464 {
465 sx1262_interface_debug_print("sx1262: set iq polarity failed.\n");
466 (void)sx1262_deinit(&gs_handle);
467
468 return 1;
469 }
470 sx1262_interface_debug_print("sx1262: set iq polarity 0x%02X.\n", setup);
471 res = sx1262_get_iq_polarity(&gs_handle, (uint8_t *)&setup_check);
472 if (res != 0)
473 {
474 sx1262_interface_debug_print("sx1262: get iq polarity failed.\n");
475 (void)sx1262_deinit(&gs_handle);
476
477 return 1;
478 }
479 sx1262_interface_debug_print("sx1262: check iq polarity %s.\n", setup == setup_check ? "ok" : "error");
480
481 /* sx1262_set_lora_sync_word/sx1262_get_lora_sync_word test */
482 sx1262_interface_debug_print("sx1262: sx1262_set_lora_sync_word/sx1262_get_lora_sync_word test.\n");
483
484 value = rand() % 65536;
485 res = sx1262_set_lora_sync_word(&gs_handle, value);
486 if (res != 0)
487 {
488 sx1262_interface_debug_print("sx1262: set lora sync word failed.\n");
489 (void)sx1262_deinit(&gs_handle);
490
491 return 1;
492 }
493 sx1262_interface_debug_print("sx1262: set lora sync word 0x%04X.\n", value);
494 res = sx1262_get_lora_sync_word(&gs_handle, (uint16_t *)&value_check);
495 if (res != 0)
496 {
497 sx1262_interface_debug_print("sx1262: get lora sync word failed.\n");
498 (void)sx1262_deinit(&gs_handle);
499
500 return 1;
501 }
502 sx1262_interface_debug_print("sx1262: check lora sync word %s.\n", value == value_check ? "ok" : "error");
503
504 /* sx1262_get_random_number test */
505 sx1262_interface_debug_print("sx1262: sx1262_get_random_number test.\n");
506
507 res = sx1262_get_random_number(&gs_handle, (uint32_t *)&rand_number);
508 if (res != 0)
509 {
510 sx1262_interface_debug_print("sx1262: get random number failed.\n");
511 (void)sx1262_deinit(&gs_handle);
512
513 return 1;
514 }
515 sx1262_interface_debug_print("sx1262: random number is 0x%08X.\n", rand_number);
516
517 /* sx1262_set_tx_modulation/sx1262_get_tx_modulation test */
518 sx1262_interface_debug_print("sx1262: sx1262_set_tx_modulation/sx1262_get_tx_modulation test.\n");
519
520 res = sx1262_get_tx_modulation(&gs_handle, (uint8_t *)&modulation_check);
521 if (res != 0)
522 {
523 sx1262_interface_debug_print("sx1262: get tx modulation failed.\n");
524 (void)sx1262_deinit(&gs_handle);
525
526 return 1;
527 }
528 modulation = 0;
529 modulation |= 0x04;
530 res = sx1262_set_tx_modulation(&gs_handle, modulation);
531 if (res != 0)
532 {
533 sx1262_interface_debug_print("sx1262: set tx modulation failed.\n");
534 (void)sx1262_deinit(&gs_handle);
535
536 return 1;
537 }
538 sx1262_interface_debug_print("sx1262: set tx modulation 0x%02X.\n", modulation);
539 res = sx1262_get_tx_modulation(&gs_handle, (uint8_t *)&modulation_check);
540 if (res != 0)
541 {
542 sx1262_interface_debug_print("sx1262: get tx modulation failed.\n");
543 (void)sx1262_deinit(&gs_handle);
544
545 return 1;
546 }
547 sx1262_interface_debug_print("sx1262: check tx modulation %s.\n", modulation == modulation_check ? "ok" : "error");
548
549 /* sx1262_set_rx_gain/sx1262_get_rx_gain test */
550 sx1262_interface_debug_print("sx1262: sx1262_set_rx_gain/sx1262_get_rx_gain test.\n");
551
552 gain = rand() % 256;
553 res = sx1262_set_rx_gain(&gs_handle, gain);
554 if (res != 0)
555 {
556 sx1262_interface_debug_print("sx1262: set rx gain failed.\n");
557 (void)sx1262_deinit(&gs_handle);
558
559 return 1;
560 }
561 sx1262_interface_debug_print("sx1262: set rx gain 0x%02X.\n", gain);
562 res = sx1262_get_rx_gain(&gs_handle, (uint8_t *)&gain_check);
563 if (res != 0)
564 {
565 sx1262_interface_debug_print("sx1262: get rx gain failed.\n");
566 (void)sx1262_deinit(&gs_handle);
567
568 return 1;
569 }
570 sx1262_interface_debug_print("sx1262: check rx gain %s.\n", gain == gain_check ? "ok" : "error");
571
572 /* sx1262_set_tx_clamp_config/sx1262_get_tx_clamp_config test */
573 sx1262_interface_debug_print("sx1262: sx1262_set_tx_clamp_config/sx1262_get_tx_clamp_config test.\n");
574
575 config = rand() % 256;
576 res = sx1262_set_tx_clamp_config(&gs_handle, config);
577 if (res != 0)
578 {
579 sx1262_interface_debug_print("sx1262: set tx clamp config failed.\n");
580 (void)sx1262_deinit(&gs_handle);
581
582 return 1;
583 }
584 sx1262_interface_debug_print("sx1262: set tx clamp config 0x%02X.\n", config);
585 res = sx1262_get_tx_clamp_config(&gs_handle, (uint8_t *)&config_check);
586 if (res != 0)
587 {
588 sx1262_interface_debug_print("sx1262: get tx clamp config failed.\n");
589 (void)sx1262_deinit(&gs_handle);
590
591 return 1;
592 }
593 sx1262_interface_debug_print("sx1262: check tx clamp config %s.\n", config == config_check ? "ok" : "error");
594
595 /* sx1262_set_ocp/sx1262_get_ocp test */
596 sx1262_interface_debug_print("sx1262: sx1262_set_ocp/sx1262_get_ocp test.\n");
597
598 ocp = rand() % 0x20;
599 res = sx1262_set_ocp(&gs_handle, ocp);
600 if (res != 0)
601 {
602 sx1262_interface_debug_print("sx1262: set ocp failed.\n");
603 (void)sx1262_deinit(&gs_handle);
604
605 return 1;
606 }
607 sx1262_interface_debug_print("sx1262: set ocp 0x%02X.\n", ocp);
608 res = sx1262_get_ocp(&gs_handle, (uint8_t *)&ocp_check);
609 if (res != 0)
610 {
611 sx1262_interface_debug_print("sx1262: get ocp failed.\n");
612 (void)sx1262_deinit(&gs_handle);
613
614 return 1;
615 }
616 sx1262_interface_debug_print("sx1262: check ocp config %s.\n", ocp == ocp_check ? "ok" : "error");
617
618 /* sx1262_set_rtc_control/sx1262_get_rtc_control test */
619 sx1262_interface_debug_print("sx1262: sx1262_set_rtc_control/sx1262_get_rtc_control test.\n");
620
621 /* disable */
622 control = 0;
623 res = sx1262_set_rtc_control(&gs_handle, control);
624 if (res != 0)
625 {
626 sx1262_interface_debug_print("sx1262: set rtc control failed.\n");
627 (void)sx1262_deinit(&gs_handle);
628
629 return 1;
630 }
631 sx1262_interface_debug_print("sx1262: disable rtc control.\n");
632 res = sx1262_get_rtc_control(&gs_handle, (uint8_t *)&control_check);
633 if (res != 0)
634 {
635 sx1262_interface_debug_print("sx1262: get rtc control failed.\n");
636 (void)sx1262_deinit(&gs_handle);
637
638 return 1;
639 }
640 sx1262_interface_debug_print("sx1262: check rtc control %s.\n", control_check == control ? "ok" : "error");
641
642 /* sx1262_set_xta_trim/sx1262_get_xta_trim test */
643 sx1262_interface_debug_print("sx1262: sx1262_set_xta_trim/sx1262_get_xta_trim test.\n");
644
645 trim = 0x05;
646 res = sx1262_set_xta_trim(&gs_handle, trim);
647 if (res != 0)
648 {
649 sx1262_interface_debug_print("sx1262: set xta trim failed.\n");
650 (void)sx1262_deinit(&gs_handle);
651
652 return 1;
653 }
654 sx1262_interface_debug_print("sx1262: set xta trim 0x%02X.\n", trim);
655 res = sx1262_get_xta_trim(&gs_handle, (uint8_t *)&trim_check);
656 if (res != 0)
657 {
658 sx1262_interface_debug_print("sx1262: get xta trim failed.\n");
659 (void)sx1262_deinit(&gs_handle);
660
661 return 1;
662 }
663 sx1262_interface_debug_print("sx1262: check xta trim %s.\n", trim_check == trim ? "ok" : "error");
664
665 /* sx1262_set_xtb_trim/sx1262_get_xtb_trim test */
666 sx1262_interface_debug_print("sx1262: sx1262_set_xtb_trim/sx1262_get_xtb_trim test.\n");
667
668 trim = 0x05;
669 res = sx1262_set_xtb_trim(&gs_handle, trim);
670 if (res != 0)
671 {
672 sx1262_interface_debug_print("sx1262: set xtb trim failed.\n");
673 (void)sx1262_deinit(&gs_handle);
674
675 return 1;
676 }
677 sx1262_interface_debug_print("sx1262: set xtb trim 0x%02X.\n", trim);
678 res = sx1262_get_xtb_trim(&gs_handle, (uint8_t *)&trim_check);
679 if (res != 0)
680 {
681 sx1262_interface_debug_print("sx1262: get xtb trim failed.\n");
682 (void)sx1262_deinit(&gs_handle);
683
684 return 1;
685 }
686 sx1262_interface_debug_print("sx1262: check xtb trim %s.\n", trim_check == trim ? "ok" : "error");
687
688 /* sx1262_set_dio3_output_control/sx1262_get_dio3_output_control test */
689 sx1262_interface_debug_print("sx1262: sx1262_set_dio3_output_control/sx1262_get_dio3_output_control test.\n");
690
691 control = 0x01;
692 res = sx1262_set_dio3_output_control(&gs_handle, control);
693 if (res != 0)
694 {
695 sx1262_interface_debug_print("sx1262: set dio3 output control failed.\n");
696 (void)sx1262_deinit(&gs_handle);
697
698 return 1;
699 }
700 sx1262_interface_debug_print("sx1262: set dio3 output control 0x%02X.\n", control);
701 res = sx1262_get_dio3_output_control(&gs_handle, (uint8_t *)&control_check);
702 if (res != 0)
703 {
704 sx1262_interface_debug_print("sx1262: get dio3 output control failed.\n");
705 (void)sx1262_deinit(&gs_handle);
706
707 return 1;
708 }
709 sx1262_interface_debug_print("sx1262: check dio3 output control %s.\n", control_check == control ? "ok" : "error");
710
711 /* sx1262_set_event_mask/sx1262_get_event_mask test */
712 sx1262_interface_debug_print("sx1262: sx1262_set_event_mask/sx1262_get_event_mask test.\n");
713
714 mask = 0;
715 res = sx1262_set_event_mask(&gs_handle, mask);
716 if (res != 0)
717 {
718 sx1262_interface_debug_print("sx1262: set event mask failed.\n");
719 (void)sx1262_deinit(&gs_handle);
720
721 return 1;
722 }
723 sx1262_interface_debug_print("sx1262: set event mask 0x%02X.\n", mask);
724 res = sx1262_get_event_mask(&gs_handle, (uint8_t *)&mask_check);
725 if (res != 0)
726 {
727 sx1262_interface_debug_print("sx1262: get event mask failed.\n");
728 (void)sx1262_deinit(&gs_handle);
729
730 return 1;
731 }
732 sx1262_interface_debug_print("sx1262: check event mask %s.\n", mask_check == mask ? "ok" : "error");
733
734 /* sx1262_set_dio_output_enable/sx1262_get_dio_output_enable test */
735 sx1262_interface_debug_print("sx1262: sx1262_set_dio_output_enable/sx1262_get_dio_output_enable test.\n");
736
737 enable = rand() % 0xF;
738 res = sx1262_set_dio_output_enable(&gs_handle, enable);
739 if (res != 0)
740 {
741 sx1262_interface_debug_print("sx1262: set dio output enable failed.\n");
742 (void)sx1262_deinit(&gs_handle);
743
744 return 1;
745 }
746 sx1262_interface_debug_print("sx1262: set dio output enable 0x%02X.\n", enable);
747 res = sx1262_get_dio_output_enable(&gs_handle, (uint8_t *)&enable_check);
748 if (res != 0)
749 {
750 sx1262_interface_debug_print("sx1262: get dio output enable failed.\n");
751 (void)sx1262_deinit(&gs_handle);
752
753 return 1;
754 }
755 sx1262_interface_debug_print("sx1262: check dio output enable %s.\n", enable == enable_check ? "ok" : "error");
756
757 /* sx1262_set_dio_input_enable/sx1262_get_dio_input_enable test */
758 sx1262_interface_debug_print("sx1262: sx1262_set_dio_input_enable/sx1262_get_dio_input_enable test.\n");
759
760 res = sx1262_set_dio_output_enable(&gs_handle, 0x00);
761 if (res != 0)
762 {
763 sx1262_interface_debug_print("sx1262: set dio output enable failed.\n");
764 (void)sx1262_deinit(&gs_handle);
765
766 return 1;
767 }
768 enable = rand() % 0xF;
769 res = sx1262_set_dio_input_enable(&gs_handle, enable);
770 if (res != 0)
771 {
772 sx1262_interface_debug_print("sx1262: set dio input enable failed.\n");
773 (void)sx1262_deinit(&gs_handle);
774
775 return 1;
776 }
777 sx1262_interface_debug_print("sx1262: set dio input enable 0x%02X.\n", enable);
778 res = sx1262_get_dio_input_enable(&gs_handle, (uint8_t *)&enable_check);
779 if (res != 0)
780 {
781 sx1262_interface_debug_print("sx1262: get dio input enable failed.\n");
782 (void)sx1262_deinit(&gs_handle);
783
784 return 1;
785 }
786 sx1262_interface_debug_print("sx1262: check dio input enable %s.\n", enable == enable_check ? "ok" : "error");
787
788 /* sx1262_set_pull_up_control/sx1262_get_pull_up_control test */
789 sx1262_interface_debug_print("sx1262: sx1262_set_pull_up_control/sx1262_get_pull_up_control test.\n");
790
791 control = rand() % 0x0F;
792 res = sx1262_set_pull_up_control(&gs_handle, control);
793 if (res != 0)
794 {
795 sx1262_interface_debug_print("sx1262: set pull up control failed.\n");
796 (void)sx1262_deinit(&gs_handle);
797
798 return 1;
799 }
800 sx1262_interface_debug_print("sx1262: set pull up control 0x%02X.\n", control);
801 res = sx1262_get_pull_up_control(&gs_handle, (uint8_t *)&control_check);
802 if (res != 0)
803 {
804 sx1262_interface_debug_print("sx1262: get pull up control failed.\n");
805 (void)sx1262_deinit(&gs_handle);
806
807 return 1;
808 }
809 sx1262_interface_debug_print("sx1262: check pull up control %s.\n", control == control_check ? "ok" : "error");
810
811 /* sx1262_set_pull_down_control/sx1262_get_pull_down_control test */
812 sx1262_interface_debug_print("sx1262: sx1262_set_pull_down_control/sx1262_get_pull_down_control test.\n");
813
814 res = sx1262_set_pull_up_control(&gs_handle, 0x00);
815 if (res != 0)
816 {
817 sx1262_interface_debug_print("sx1262: set pull up control failed.\n");
818 (void)sx1262_deinit(&gs_handle);
819
820 return 1;
821 }
822 control = rand() % 0x0F;
823 res = sx1262_set_pull_down_control(&gs_handle, control);
824 if (res != 0)
825 {
826 sx1262_interface_debug_print("sx1262: set pull down control failed.\n");
827 (void)sx1262_deinit(&gs_handle);
828
829 return 1;
830 }
831 sx1262_interface_debug_print("sx1262: set pull down control 0x%02X.\n", control);
832 res = sx1262_get_pull_down_control(&gs_handle, (uint8_t *)&control_check);
833 if (res != 0)
834 {
835 sx1262_interface_debug_print("sx1262: get pull down control failed.\n");
836 (void)sx1262_deinit(&gs_handle);
837
838 return 1;
839 }
840 sx1262_interface_debug_print("sx1262: check pull down control %s.\n", control == control_check ? "ok" : "error");
841
842 /* sx1262_set_fhss_hopping_enable/sx1262_get_fhss_hopping_enable test */
843 sx1262_interface_debug_print("sx1262: sx1262_set_fhss_hopping_enable/sx1262_get_fhss_hopping_enable test.\n");
844
845 /* enable fhss hopping */
846 res = sx1262_set_fhss_hopping_enable(&gs_handle, 0x01);
847 if (res != 0)
848 {
849 sx1262_interface_debug_print("sx1262: set fhss hopping enable failed.\n");
850 (void)sx1262_deinit(&gs_handle);
851
852 return 1;
853 }
854 sx1262_interface_debug_print("sx1262: enable fhss hopping.\n");
855 res = sx1262_get_fhss_hopping_enable(&gs_handle, &v_check);
856 if (res != 0)
857 {
858 sx1262_interface_debug_print("sx1262: get fhss hopping enable failed.\n");
859 (void)sx1262_deinit(&gs_handle);
860
861 return 1;
862 }
863 sx1262_interface_debug_print("sx1262: check fhss hopping enable %s.\n", v_check == 0x01 ? "ok" : "error");
864
865 /* disable fhss hopping */
866 res = sx1262_set_fhss_hopping_enable(&gs_handle, 0x00);
867 if (res != 0)
868 {
869 sx1262_interface_debug_print("sx1262: set fhss hopping enable failed.\n");
870 (void)sx1262_deinit(&gs_handle);
871
872 return 1;
873 }
874 sx1262_interface_debug_print("sx1262: disable fhss hopping.\n");
875 res = sx1262_get_fhss_hopping_enable(&gs_handle, &v_check);
876 if (res != 0)
877 {
878 sx1262_interface_debug_print("sx1262: get fhss hopping enable failed.\n");
879 (void)sx1262_deinit(&gs_handle);
880
881 return 1;
882 }
883 sx1262_interface_debug_print("sx1262: check fhss hopping enable %s.\n", v_check == 0x00 ? "ok" : "error");
884
885 /* sx1262_set_fhss_packet_length/sx1262_get_fhss_packet_length test */
886 sx1262_interface_debug_print("sx1262: sx1262_set_fhss_packet_length/sx1262_get_fhss_packet_length test.\n");
887
888 v = rand() % 16;
889 res = sx1262_set_fhss_packet_length(&gs_handle, v);
890 if (res != 0)
891 {
892 sx1262_interface_debug_print("sx1262: set fhss packet length failed.\n");
893 (void)sx1262_deinit(&gs_handle);
894
895 return 1;
896 }
897 sx1262_interface_debug_print("sx1262: set fhss packet length %d.\n", v);
898 res = sx1262_get_fhss_packet_length(&gs_handle, &v_check);
899 if (res != 0)
900 {
901 sx1262_interface_debug_print("sx1262: get fhss packet length failed.\n");
902 (void)sx1262_deinit(&gs_handle);
903
904 return 1;
905 }
906 sx1262_interface_debug_print("sx1262: check fhss packet length %s.\n", v == v_check ? "ok" : "error");
907
908 /* sx1262_set_fhss_nb_hopping_blocks/sx1262_get_fhss_nb_hopping_blocks test */
909 sx1262_interface_debug_print("sx1262: sx1262_set_fhss_nb_hopping_blocks/sx1262_get_fhss_nb_hopping_blocks test.\n");
910
911 v = rand() % 16;
912 res = sx1262_set_fhss_nb_hopping_blocks(&gs_handle, v);
913 if (res != 0)
914 {
915 sx1262_interface_debug_print("sx1262: set fhss nb hopping blocks failed.\n");
916 (void)sx1262_deinit(&gs_handle);
917
918 return 1;
919 }
920 sx1262_interface_debug_print("sx1262: set fhss nb hopping blocks %d.\n", v);
921 res = sx1262_get_fhss_nb_hopping_blocks(&gs_handle, &v_check);
922 if (res != 0)
923 {
924 sx1262_interface_debug_print("sx1262: get fhss nb hopping blocks failed.\n");
925 (void)sx1262_deinit(&gs_handle);
926
927 return 1;
928 }
929 sx1262_interface_debug_print("sx1262: check fhss nb hopping blocks %s.\n", v == v_check ? "ok" : "error");
930
931 /* sx1262_set_fhss_symbols_freq0/sx1262_get_fhss_symbols_freq0 test */
932 sx1262_interface_debug_print("sx1262: sx1262_set_fhss_symbols_freq0/sx1262_get_fhss_symbols_freq0 test.\n");
933
934 value = rand() % 0xFFFFUL;
935 res = sx1262_set_fhss_symbols_freq0(&gs_handle, value);
936 if (res != 0)
937 {
938 sx1262_interface_debug_print("sx1262: set fhss symbols freq0 failed.\n");
939 (void)sx1262_deinit(&gs_handle);
940
941 return 1;
942 }
943 sx1262_interface_debug_print("sx1262: set fhss symbols freq0 %d.\n", value);
944 res = sx1262_get_fhss_symbols_freq0(&gs_handle, &value_check);
945 if (res != 0)
946 {
947 sx1262_interface_debug_print("sx1262: get fhss symbols freq0 failed.\n");
948 (void)sx1262_deinit(&gs_handle);
949
950 return 1;
951 }
952 sx1262_interface_debug_print("sx1262: check fhss symbols freq0 %s.\n", value == value_check ? "ok" : "error");
953
954 /* sx1262_set_fhss_freq0/sx1262_get_fhss_freq0 test */
955 sx1262_interface_debug_print("sx1262: sx1262_set_fhss_freq0/sx1262_get_fhss_freq0 test.\n");
956
957 freq = rand() % 0xFFFFUL;
958 res = sx1262_set_fhss_freq0(&gs_handle, freq);
959 if (res != 0)
960 {
961 sx1262_interface_debug_print("sx1262: set fhss freq0 failed.\n");
962 (void)sx1262_deinit(&gs_handle);
963
964 return 1;
965 }
966 sx1262_interface_debug_print("sx1262: set fhss freq0 %d.\n", freq);
967 res = sx1262_get_fhss_freq0(&gs_handle, &freq_check);
968 if (res != 0)
969 {
970 sx1262_interface_debug_print("sx1262: get fhss freq0 failed.\n");
971 (void)sx1262_deinit(&gs_handle);
972
973 return 1;
974 }
975 sx1262_interface_debug_print("sx1262: check fhss freq0 %s.\n", freq == freq_check ? "ok" : "error");
976
977 /* sx1262_set_fhss_symbols_freq15/sx1262_get_fhss_symbols_freq15 test */
978 sx1262_interface_debug_print("sx1262: sx1262_set_fhss_symbols_freq15/sx1262_get_fhss_symbols_freq15 test.\n");
979
980 value = rand() % 0xFFFFUL;
981 res = sx1262_set_fhss_symbols_freq15(&gs_handle, value);
982 if (res != 0)
983 {
984 sx1262_interface_debug_print("sx1262: set fhss symbols freq15 failed.\n");
985 (void)sx1262_deinit(&gs_handle);
986
987 return 1;
988 }
989 sx1262_interface_debug_print("sx1262: set fhss symbols freq15 %d.\n", value);
990 res = sx1262_get_fhss_symbols_freq15(&gs_handle, &value_check);
991 if (res != 0)
992 {
993 sx1262_interface_debug_print("sx1262: get fhss symbols freq15 failed.\n");
994 (void)sx1262_deinit(&gs_handle);
995
996 return 1;
997 }
998 sx1262_interface_debug_print("sx1262: check fhss symbols freq15 %s.\n", value == value_check ? "ok" : "error");
999
1000 /* sx1262_set_fhss_freq15/sx1262_get_fhss_freq15 test */
1001 sx1262_interface_debug_print("sx1262: sx1262_set_fhss_freq15/sx1262_get_fhss_freq15 test.\n");
1002
1003 freq = rand() % 0xFFFFUL;
1004 res = sx1262_set_fhss_freq15(&gs_handle, freq);
1005 if (res != 0)
1006 {
1007 sx1262_interface_debug_print("sx1262: set fhss freq15 failed.\n");
1008 (void)sx1262_deinit(&gs_handle);
1009
1010 return 1;
1011 }
1012 sx1262_interface_debug_print("sx1262: set fhss freq15 %d.\n", freq);
1013 res = sx1262_get_fhss_freq15(&gs_handle, &freq_check);
1014 if (res != 0)
1015 {
1016 sx1262_interface_debug_print("sx1262: get fhss freq15 failed.\n");
1017 (void)sx1262_deinit(&gs_handle);
1018
1019 return 1;
1020 }
1021 sx1262_interface_debug_print("sx1262: check fhss freq15 %s.\n", freq == freq_check ? "ok" : "error");
1022
1023 /* finish register test */
1024 sx1262_interface_debug_print("sx1262: finish register test.\n");
1025 (void)sx1262_deinit(&gs_handle);
1026
1027 return 0;
1028}
driver sx1262 register test header file
uint8_t sx1262_gfsk_frequency_deviation_convert_to_register(sx1262_handle_t *handle, uint32_t freq, uint32_t *reg)
convert the frequency deviation to the register raw data
uint8_t sx1262_gfsk_bit_rate_convert_to_data(sx1262_handle_t *handle, uint32_t reg, uint32_t *br)
convert the register raw data to the bit rate
uint8_t sx1262_read_buffer(sx1262_handle_t *handle, uint8_t offset, uint8_t *buf, uint16_t len)
read the buffer
struct sx1262_info_s sx1262_info_t
sx1262 information structure definition
struct sx1262_handle_s sx1262_handle_t
sx1262 handle structure definition
uint8_t sx1262_set_standby(sx1262_handle_t *handle, sx1262_clock_source_t src)
enter to the standby mode
uint8_t sx1262_timeout_convert_to_data(sx1262_handle_t *handle, uint32_t reg, double *us)
convert the register raw data to the timeout
uint8_t sx1262_write_buffer(sx1262_handle_t *handle, uint8_t offset, uint8_t *buf, uint16_t len)
write the buffer
uint8_t sx1262_frequency_convert_to_data(sx1262_handle_t *handle, uint32_t reg, uint32_t *freq)
convert the register raw data to the frequency
uint8_t sx1262_read_register(sx1262_handle_t *handle, uint16_t reg, uint8_t *buf, uint16_t len)
read the register
sx1262_packet_type_t
sx1262 packet type enumeration definition
uint8_t sx1262_gfsk_bit_rate_convert_to_register(sx1262_handle_t *handle, uint32_t br, uint32_t *reg)
convert the bit rate to the register raw data
uint8_t sx1262_gfsk_frequency_deviation_convert_to_data(sx1262_handle_t *handle, uint32_t reg, uint32_t *freq)
convert the register raw data to the frequency deviation
uint8_t sx1262_set_packet_type(sx1262_handle_t *handle, sx1262_packet_type_t type)
set the packet type
uint8_t sx1262_timeout_convert_to_register(sx1262_handle_t *handle, double us, uint32_t *reg)
convert the timeout to the register raw data
uint8_t sx1262_get_packet_type(sx1262_handle_t *handle, sx1262_packet_type_t *type)
get the packet type
uint8_t sx1262_write_register(sx1262_handle_t *handle, uint16_t reg, uint8_t *buf, uint16_t len)
write the register
uint8_t sx1262_deinit(sx1262_handle_t *handle)
close the chip
uint8_t sx1262_frequency_convert_to_register(sx1262_handle_t *handle, uint32_t freq, uint32_t *reg)
convert the frequency to the register raw data
uint8_t sx1262_init(sx1262_handle_t *handle)
initialize the chip
uint8_t sx1262_info(sx1262_info_t *info)
get chip's information
@ SX1262_PACKET_TYPE_GFSK
@ SX1262_PACKET_TYPE_LORA
@ SX1262_CLOCK_SOURCE_XTAL_32MHZ
uint8_t sx1262_interface_busy_gpio_deinit(void)
interface busy gpio deinit
uint8_t sx1262_interface_reset_gpio_init(void)
interface reset gpio init
uint8_t sx1262_interface_spi_deinit(void)
interface spi bus deinit
uint8_t sx1262_interface_spi_init(void)
interface spi bus init
uint8_t sx1262_interface_reset_gpio_deinit(void)
interface reset gpio deinit
uint8_t sx1262_interface_busy_gpio_init(void)
interface busy gpio init
void sx1262_interface_receive_callback(uint16_t type, uint8_t *buf, uint16_t len)
interface receive callback
uint8_t sx1262_interface_reset_gpio_write(uint8_t data)
interface reset gpio write
void sx1262_interface_debug_print(const char *const fmt,...)
interface print format data
uint8_t sx1262_interface_busy_gpio_read(uint8_t *value)
interface busy gpio read
uint8_t sx1262_interface_spi_write_read(uint8_t *in_buf, uint32_t in_len, uint8_t *out_buf, uint32_t out_len)
interface spi bus write read
void sx1262_interface_delay_ms(uint32_t ms)
interface delay ms
uint8_t sx1262_get_fhss_freq0(sx1262_handle_t *handle, uint32_t *freq)
get fhss freq0
uint8_t sx1262_set_dio_input_enable(sx1262_handle_t *handle, uint8_t enable)
set the dio input enable
uint8_t sx1262_set_tx_clamp_config(sx1262_handle_t *handle, uint8_t config)
set the tx clamp config
uint8_t sx1262_set_dio3_output_control(sx1262_handle_t *handle, uint8_t control)
set the dio3 output
uint8_t sx1262_set_lora_sync_word(sx1262_handle_t *handle, uint16_t sync_word)
set the lora sync word
uint8_t sx1262_set_pull_up_control(sx1262_handle_t *handle, uint8_t control)
set the pull up control
uint8_t sx1262_get_fhss_symbols_freq0(sx1262_handle_t *handle, uint16_t *num)
get fhss freq0 symbols
uint8_t sx1262_set_pull_down_control(sx1262_handle_t *handle, uint8_t control)
set the pull down control
uint8_t sx1262_get_iq_polarity(sx1262_handle_t *handle, uint8_t *setup)
get the iq polarity
uint8_t sx1262_set_iq_polarity(sx1262_handle_t *handle, uint8_t setup)
set the iq polarity
uint8_t sx1262_set_xta_trim(sx1262_handle_t *handle, uint8_t trim)
set the xta trim
uint8_t sx1262_get_fhss_nb_hopping_blocks(sx1262_handle_t *handle, uint8_t *n)
get fhss nb hopping blocks
uint8_t sx1262_set_rx_gain(sx1262_handle_t *handle, uint8_t gain)
set the rx gain
uint8_t sx1262_set_fsk_node_address(sx1262_handle_t *handle, uint8_t addr)
set the node address in FSK mode
uint8_t sx1262_get_lora_sync_word(sx1262_handle_t *handle, uint16_t *sync_word)
get the lora sync word
uint8_t sx1262_get_fsk_sync_word(sx1262_handle_t *handle, uint8_t sync_word[8])
get the sync word in FSK mode
uint8_t sx1262_get_fhss_packet_length(sx1262_handle_t *handle, uint8_t *len)
get fhss packet length
uint8_t sx1262_get_dio_output_enable(sx1262_handle_t *handle, uint8_t *enable)
get the dio output enable
uint8_t sx1262_set_rtc_control(sx1262_handle_t *handle, uint8_t control)
set the rtc control
uint8_t sx1262_set_ocp(sx1262_handle_t *handle, uint8_t ocp)
set the ocp
uint8_t sx1262_set_tx_modulation(sx1262_handle_t *handle, uint8_t modulation)
set the tx modulation
uint8_t sx1262_get_fhss_symbols_freq15(sx1262_handle_t *handle, uint16_t *num)
get fhss freq15 symbols
uint8_t sx1262_get_random_number(sx1262_handle_t *handle, uint32_t *r)
get the random number
uint8_t sx1262_set_fsk_crc_initical_value(sx1262_handle_t *handle, uint16_t value)
set the crc initial value in FSK mode
uint8_t sx1262_set_fsk_whitening_initial_value(sx1262_handle_t *handle, uint16_t value)
set the whitening initial value in FSK mode
uint8_t sx1262_get_rx_gain(sx1262_handle_t *handle, uint8_t *gain)
get the rx gain
uint8_t sx1262_set_fhss_nb_hopping_blocks(sx1262_handle_t *handle, uint8_t n)
set fhss nb hopping blocks
uint8_t sx1262_set_fhss_packet_length(sx1262_handle_t *handle, uint8_t len)
set fhss packet length
uint8_t sx1262_get_fsk_node_address(sx1262_handle_t *handle, uint8_t *addr)
get the node address in FSK mode
uint8_t sx1262_get_tx_clamp_config(sx1262_handle_t *handle, uint8_t *config)
get the tx clamp config
uint8_t sx1262_get_event_mask(sx1262_handle_t *handle, uint8_t *mask)
get the event mask
uint8_t sx1262_set_fhss_freq15(sx1262_handle_t *handle, uint32_t freq)
set fhss freq15
uint8_t sx1262_get_fsk_crc_polynomial_value(sx1262_handle_t *handle, uint16_t *value)
get the crc polynomial value in FSK mode
uint8_t sx1262_get_xta_trim(sx1262_handle_t *handle, uint8_t *trim)
get the xta trim
uint8_t sx1262_set_fhss_symbols_freq15(sx1262_handle_t *handle, uint16_t num)
set fhss freq15 symbols
uint8_t sx1262_get_dio_input_enable(sx1262_handle_t *handle, uint8_t *enable)
get the dio input enable
uint8_t sx1262_get_rtc_control(sx1262_handle_t *handle, uint8_t *control)
get the rtc control
uint8_t sx1262_get_tx_modulation(sx1262_handle_t *handle, uint8_t *modulation)
get the tx modulation
uint8_t sx1262_get_fhss_hopping_enable(sx1262_handle_t *handle, uint8_t *enable)
get fhss hopping enable
uint8_t sx1262_get_fsk_crc_initical_value(sx1262_handle_t *handle, uint16_t *value)
get the crc initical value in FSK mode
uint8_t sx1262_get_pull_down_control(sx1262_handle_t *handle, uint8_t *control)
get the pull down control
uint8_t sx1262_get_dio3_output_control(sx1262_handle_t *handle, uint8_t *control)
get the dio3 output
uint8_t sx1262_get_fsk_broadcast_address(sx1262_handle_t *handle, uint8_t *addr)
get the broadcast address in FSK mode
uint8_t sx1262_set_event_mask(sx1262_handle_t *handle, uint8_t mask)
set the event mask
uint8_t sx1262_get_pull_up_control(sx1262_handle_t *handle, uint8_t *control)
get the pull up control
uint8_t sx1262_get_fsk_whitening_initial_value(sx1262_handle_t *handle, uint16_t *value)
get the whitening initial value in FSK mode
uint8_t sx1262_set_fhss_symbols_freq0(sx1262_handle_t *handle, uint16_t num)
set fhss freq0 symbols
uint8_t sx1262_set_dio_output_enable(sx1262_handle_t *handle, uint8_t enable)
set the dio output enable
uint8_t sx1262_get_xtb_trim(sx1262_handle_t *handle, uint8_t *trim)
get the xtb trim
uint8_t sx1262_set_fsk_broadcast_address(sx1262_handle_t *handle, uint8_t addr)
set the broadcast address in FSK mode
uint8_t sx1262_set_fsk_sync_word(sx1262_handle_t *handle, uint8_t sync_word[8])
set the sync word in FSK mode
uint8_t sx1262_set_fhss_freq0(sx1262_handle_t *handle, uint32_t freq)
set fhss freq0
uint8_t sx1262_get_ocp(sx1262_handle_t *handle, uint8_t *ocp)
get the ocp
uint8_t sx1262_set_xtb_trim(sx1262_handle_t *handle, uint8_t trim)
set the xtb trim
uint8_t sx1262_set_fhss_hopping_enable(sx1262_handle_t *handle, uint8_t enable)
set fhss hopping enable
uint8_t sx1262_get_fhss_freq15(sx1262_handle_t *handle, uint32_t *freq)
get fhss freq15
uint8_t sx1262_set_fsk_crc_polynomial_value(sx1262_handle_t *handle, uint16_t value)
set the crc polynomial value in FSK mode
uint8_t sx1262_register_test(void)
register test
float supply_voltage_max_v
uint32_t driver_version
char manufacturer_name[32]
float supply_voltage_min_v
char chip_name[32]