LibDriver AS3935
Loading...
Searching...
No Matches
driver_as3935_register_test.c
Go to the documentation of this file.
1
36
38#include <stdlib.h>
39
40static as3935_handle_t gs_handle;
41
52{
53 uint8_t res;
54 uint8_t threshold;
55 uint8_t threshold_check;
56 uint8_t rejection;
57 uint8_t rejection_check;
58 uint8_t cap;
59 uint8_t cap_check;
60 uint8_t reg;
61 float pf;
62 float pf_check;
63 as3935_address_t addr_check;
64 as3935_interface_t interface_check;
65 as3935_info_t info;
66 as3935_bool_t enable;
72
73 /* link interface function */
86
87 /* get information */
88 res = as3935_info(&info);
89 if (res != 0)
90 {
91 as3935_interface_debug_print("as3935: get info failed.\n");
92
93 return 1;
94 }
95 else
96 {
97 /* print chip info */
98 as3935_interface_debug_print("as3935: chip is %s.\n", info.chip_name);
99 as3935_interface_debug_print("as3935: manufacturer is %s.\n", info.manufacturer_name);
100 as3935_interface_debug_print("as3935: interface is %s.\n", info.interface);
101 as3935_interface_debug_print("as3935: driver version is %d.%d.\n", info.driver_version / 1000, (info.driver_version % 1000) / 100);
102 as3935_interface_debug_print("as3935: min supply voltage is %0.1fV.\n", info.supply_voltage_min_v);
103 as3935_interface_debug_print("as3935: max supply voltage is %0.1fV.\n", info.supply_voltage_max_v);
104 as3935_interface_debug_print("as3935: max current is %0.2fmA.\n", info.max_current_ma);
105 as3935_interface_debug_print("as3935: max temperature is %0.1fC.\n", info.temperature_max);
106 as3935_interface_debug_print("as3935: min temperature is %0.1fC.\n", info.temperature_min);
107 }
108
109 /* start register test */
110 as3935_interface_debug_print("as3935: start register test.\n");
111
112 /* as3935_set_interface/as3935_get_interface test */
113 as3935_interface_debug_print("as3935: as3935_set_interface/as3935_get_interface test.\n");
114
115 /* set iic interface */
117 if (res != 0)
118 {
119 as3935_interface_debug_print("as3935: set interface failed.\n");
120
121 return 1;
122 }
123 as3935_interface_debug_print("as3935: set interface iic.\n");
124 res = as3935_get_interface(&gs_handle, &interface_check);
125 if (res != 0)
126 {
127 as3935_interface_debug_print("as3935: get interface failed.\n");
128
129 return 1;
130 }
131 as3935_interface_debug_print("as3935: check interface %s.\n", (interface_check == AS3935_INTERFACE_IIC) ? "ok" : "error");
132
133 /* set spi interface */
135 if (res != 0)
136 {
137 as3935_interface_debug_print("as3935: set interface failed.\n");
138
139 return 1;
140 }
141 as3935_interface_debug_print("as3935: set interface spi.\n");
142 res = as3935_get_interface(&gs_handle, &interface_check);
143 if (res != 0)
144 {
145 as3935_interface_debug_print("as3935: get interface failed.\n");
146
147 return 1;
148 }
149 as3935_interface_debug_print("as3935: check interface %s.\n", (interface_check == AS3935_INTERFACE_SPI) ? "ok" : "error");
150
151 /* as3935_set_addr_pin/as3935_get_addr_pin test */
152 as3935_interface_debug_print("as3935: as3935_set_addr_pin/as3935_get_addr_pin test.\n");
153
154 /* address1 */
155 res = as3935_set_addr_pin(&gs_handle, AS3935_ADDRESS_1);
156 if (res != 0)
157 {
158 as3935_interface_debug_print("as3935: set addr pin failed.\n");
159
160 return 1;
161 }
162 as3935_interface_debug_print("as3935: set addr pin address1.\n");
163 res = as3935_get_addr_pin(&gs_handle, &addr_check);
164 if (res != 0)
165 {
166 as3935_interface_debug_print("as3935: get addr pin failed.\n");
167
168 return 1;
169 }
170 as3935_interface_debug_print("as3935: check addr pin %s.\n", (AS3935_ADDRESS_1 == addr_check) ? "ok" : "error");
171
172 /* address2 */
173 res = as3935_set_addr_pin(&gs_handle, AS3935_ADDRESS_2);
174 if (res != 0)
175 {
176 as3935_interface_debug_print("as3935: set addr pin failed.\n");
177
178 return 1;
179 }
180 as3935_interface_debug_print("as3935: set addr pin address2.\n");
181 res = as3935_get_addr_pin(&gs_handle, &addr_check);
182 if (res != 0)
183 {
184 as3935_interface_debug_print("as3935: get addr pin failed.\n");
185
186 return 1;
187 }
188 as3935_interface_debug_print("as3935: check addr pin %s.\n", (AS3935_ADDRESS_2 == addr_check) ? "ok" : "error");
189
190 /* address3 */
191 res = as3935_set_addr_pin(&gs_handle, AS3935_ADDRESS_3);
192 if (res != 0)
193 {
194 as3935_interface_debug_print("as3935: set addr pin failed.\n");
195
196 return 1;
197 }
198 as3935_interface_debug_print("as3935: set addr pin address3.\n");
199 res = as3935_get_addr_pin(&gs_handle, &addr_check);
200 if (res != 0)
201 {
202 as3935_interface_debug_print("as3935: get addr pin failed.\n");
203
204 return 1;
205 }
206 as3935_interface_debug_print("as3935: check addr pin %s.\n", (AS3935_ADDRESS_3 == addr_check) ? "ok" : "error");
207
208 /* set the interface */
209 res = as3935_set_interface(&gs_handle, interface);
210 if (res != 0)
211 {
212 as3935_interface_debug_print("as3935: set interface failed.\n");
213
214 return 1;
215 }
216
217 /* set the address pin */
218 res = as3935_set_addr_pin(&gs_handle, addr_pin);
219 if (res != 0)
220 {
221 as3935_interface_debug_print("as3935: set addr pin failed.\n");
222
223 return 1;
224 }
225
226 /* init the as3935 */
227 res = as3935_init(&gs_handle);
228 if (res != 0)
229 {
230 as3935_interface_debug_print("as3935: init failed.\n");
231
232 return 1;
233 }
234
235 /* as3935_set_power_down/as3935_get_power_down test */
236 as3935_interface_debug_print("as3935: as3935_set_power_down/as3935_get_power_down test.\n");
237
238 /* enable power down */
239 res = as3935_set_power_down(&gs_handle, AS3935_BOOL_TRUE);
240 if (res != 0)
241 {
242 as3935_interface_debug_print("as3935: set power down failed.\n");
243 (void)as3935_deinit(&gs_handle);
244
245 return 1;
246 }
247 as3935_interface_debug_print("as3935: enable power down.\n");
248 res = as3935_get_power_down(&gs_handle, &enable);
249 if (res != 0)
250 {
251 as3935_interface_debug_print("as3935: get power down failed.\n");
252 (void)as3935_deinit(&gs_handle);
253
254 return 1;
255 }
256 as3935_interface_debug_print("as3935: check power down %s.\n", (enable == AS3935_BOOL_TRUE) ? "ok" : "error");
257
258 /* disable power down */
259 res = as3935_set_power_down(&gs_handle, AS3935_BOOL_FALSE);
260 if (res != 0)
261 {
262 as3935_interface_debug_print("as3935: set power down failed.\n");
263 (void)as3935_deinit(&gs_handle);
264
265 return 1;
266 }
267 as3935_interface_debug_print("as3935: disable power down.\n");
268 res = as3935_get_power_down(&gs_handle, &enable);
269 if (res != 0)
270 {
271 as3935_interface_debug_print("as3935: get power down failed.\n");
272 (void)as3935_deinit(&gs_handle);
273
274 return 1;
275 }
276 as3935_interface_debug_print("as3935: check power down %s.\n", (enable == AS3935_BOOL_FALSE) ? "ok" : "error");
277
278 /* as3935_set_afe_gain_boost/as3935_get_afe_gain_boost test */
279 as3935_interface_debug_print("as3935: as3935_set_afe_gain_boost/as3935_get_afe_gain_boost test.\n");
280
281 /* set afe gain boost indoor */
283 if (res != 0)
284 {
285 as3935_interface_debug_print("as3935: set afe gain boost failed.\n");
286 (void)as3935_deinit(&gs_handle);
287
288 return 1;
289 }
290 as3935_interface_debug_print("as3935: set afe gain boost indoor.\n");
291 res = as3935_get_afe_gain_boost(&gs_handle, &gain);
292 if (res != 0)
293 {
294 as3935_interface_debug_print("as3935: get afe gain boost failed.\n");
295 (void)as3935_deinit(&gs_handle);
296
297 return 1;
298 }
299 as3935_interface_debug_print("as3935: check afe gain boost %s.\n", (gain == AS3935_AFE_GAIN_INDOOR) ? "ok" : "error");
300
301 /* set afe gain boost outdoor */
303 if (res != 0)
304 {
305 as3935_interface_debug_print("as3935: set afe gain boost failed.\n");
306 (void)as3935_deinit(&gs_handle);
307
308 return 1;
309 }
310 as3935_interface_debug_print("as3935: set afe gain boost outdoor.\n");
311 res = as3935_get_afe_gain_boost(&gs_handle, &gain);
312 if (res != 0)
313 {
314 as3935_interface_debug_print("as3935: get afe gain boost failed.\n");
315 (void)as3935_deinit(&gs_handle);
316
317 return 1;
318 }
319 as3935_interface_debug_print("as3935: check afe gain boost %s.\n", (gain == AS3935_AFE_GAIN_OUTDOOR) ? "ok" : "error");
320
321 /* as3935_set_noise_floor_level/as3935_get_noise_floor_level test */
322 as3935_interface_debug_print("as3935: as3935_set_noise_floor_level/as3935_get_noise_floor_level test.\n");
323
324 /* set noise floor level outdoor 390 μVrms, indoor 28 μVrms */
326 if (res != 0)
327 {
328 as3935_interface_debug_print("as3935: set noise floor level failed.\n");
329 (void)as3935_deinit(&gs_handle);
330
331 return 1;
332 }
333 as3935_interface_debug_print("as3935: set noise floor level outdoor 390 μVrms, indoor 28 μVrms.\n");
334 res = as3935_get_noise_floor_level(&gs_handle, &level);
335 if (res != 0)
336 {
337 as3935_interface_debug_print("as3935: get noise floor level failed.\n");
338 (void)as3935_deinit(&gs_handle);
339
340 return 1;
341 }
342 as3935_interface_debug_print("as3935: check noise floor level %s.\n", (level == AS3935_NOISE_FLOOR_LEVEL_OUTDOOR_390_INDOOR_28) ? "ok" : "error");
343
344 /* set noise floor level outdoor 630 μVrms, indoor 45 μVrms */
346 if (res != 0)
347 {
348 as3935_interface_debug_print("as3935: set noise floor level failed.\n");
349 (void)as3935_deinit(&gs_handle);
350
351 return 1;
352 }
353 as3935_interface_debug_print("as3935: set noise floor level outdoor 630 μVrms, indoor 45 μVrms.\n");
354 res = as3935_get_noise_floor_level(&gs_handle, &level);
355 if (res != 0)
356 {
357 as3935_interface_debug_print("as3935: get noise floor level failed.\n");
358 (void)as3935_deinit(&gs_handle);
359
360 return 1;
361 }
362 as3935_interface_debug_print("as3935: check noise floor level %s.\n", (level == AS3935_NOISE_FLOOR_LEVEL_OUTDOOR_630_INDOOR_45) ? "ok" : "error");
363
364 /* set noise floor level outdoor 860 μVrms, indoor 62 μVrms */
366 if (res != 0)
367 {
368 as3935_interface_debug_print("as3935: set noise floor level failed.\n");
369 (void)as3935_deinit(&gs_handle);
370
371 return 1;
372 }
373 as3935_interface_debug_print("as3935: set noise floor level outdoor 860 μVrms, indoor 62 μVrms.\n");
374 res = as3935_get_noise_floor_level(&gs_handle, &level);
375 if (res != 0)
376 {
377 as3935_interface_debug_print("as3935: get noise floor level failed.\n");
378 (void)as3935_deinit(&gs_handle);
379
380 return 1;
381 }
382 as3935_interface_debug_print("as3935: check noise floor level %s.\n", (level == AS3935_NOISE_FLOOR_LEVEL_OUTDOOR_860_INDOOR_62) ? "ok" : "error");
383
384 /* set noise floor level outdoor 1100 μVrms, indoor 78 μVrms */
386 if (res != 0)
387 {
388 as3935_interface_debug_print("as3935: set noise floor level failed.\n");
389 (void)as3935_deinit(&gs_handle);
390
391 return 1;
392 }
393 as3935_interface_debug_print("as3935: set noise floor level outdoor 1100 μVrms, indoor 78 μVrms.\n");
394 res = as3935_get_noise_floor_level(&gs_handle, &level);
395 if (res != 0)
396 {
397 as3935_interface_debug_print("as3935: get noise floor level failed.\n");
398 (void)as3935_deinit(&gs_handle);
399
400 return 1;
401 }
402 as3935_interface_debug_print("as3935: check noise floor level %s.\n", (level == AS3935_NOISE_FLOOR_LEVEL_OUTDOOR_1100_INDOOR_78) ? "ok" : "error");
403
404 /* set noise floor level outdoor 1140 μVrms, indoor 95 μVrms */
406 if (res != 0)
407 {
408 as3935_interface_debug_print("as3935: set noise floor level failed.\n");
409 (void)as3935_deinit(&gs_handle);
410
411 return 1;
412 }
413 as3935_interface_debug_print("as3935: set noise floor level outdoor 1140 μVrms, indoor 95 μVrms.\n");
414 res = as3935_get_noise_floor_level(&gs_handle, &level);
415 if (res != 0)
416 {
417 as3935_interface_debug_print("as3935: get noise floor level failed.\n");
418 (void)as3935_deinit(&gs_handle);
419
420 return 1;
421 }
422 as3935_interface_debug_print("as3935: check noise floor level %s.\n", (level == AS3935_NOISE_FLOOR_LEVEL_OUTDOOR_1140_INDOOR_95) ? "ok" : "error");
423
424 /* set noise floor level outdoor 1570 μVrms, indoor 112 μVrms */
426 if (res != 0)
427 {
428 as3935_interface_debug_print("as3935: set noise floor level failed.\n");
429 (void)as3935_deinit(&gs_handle);
430
431 return 1;
432 }
433 as3935_interface_debug_print("as3935: set noise floor level outdoor 1570 μVrms, indoor 112 μVrms.\n");
434 res = as3935_get_noise_floor_level(&gs_handle, &level);
435 if (res != 0)
436 {
437 as3935_interface_debug_print("as3935: get noise floor level failed.\n");
438 (void)as3935_deinit(&gs_handle);
439
440 return 1;
441 }
442 as3935_interface_debug_print("as3935: check noise floor level %s.\n", (level == AS3935_NOISE_FLOOR_LEVEL_OUTDOOR_1570_INDOOR_112) ? "ok" : "error");
443
444 /* set noise floor level outdoor 1800 μVrms, indoor 130 μVrms */
446 if (res != 0)
447 {
448 as3935_interface_debug_print("as3935: set noise floor level failed.\n");
449 (void)as3935_deinit(&gs_handle);
450
451 return 1;
452 }
453 as3935_interface_debug_print("as3935: set noise floor level outdoor 1800 μVrms, indoor 130 μVrms.\n");
454 res = as3935_get_noise_floor_level(&gs_handle, &level);
455 if (res != 0)
456 {
457 as3935_interface_debug_print("as3935: get noise floor level failed.\n");
458 (void)as3935_deinit(&gs_handle);
459
460 return 1;
461 }
462 as3935_interface_debug_print("as3935: check noise floor level %s.\n", (level == AS3935_NOISE_FLOOR_LEVEL_OUTDOOR_1800_INDOOR_130) ? "ok" : "error");
463
464 /* set noise floor level outdoor 2000 μVrms, indoor 146 μVrms */
466 if (res != 0)
467 {
468 as3935_interface_debug_print("as3935: set noise floor level failed.\n");
469 (void)as3935_deinit(&gs_handle);
470
471 return 1;
472 }
473 as3935_interface_debug_print("as3935: set noise floor level outdoor 2000 μVrms, indoor 146 μVrms.\n");
474 res = as3935_get_noise_floor_level(&gs_handle, &level);
475 if (res != 0)
476 {
477 as3935_interface_debug_print("as3935: get noise floor level failed.\n");
478 (void)as3935_deinit(&gs_handle);
479
480 return 1;
481 }
482 as3935_interface_debug_print("as3935: check noise floor level %s.\n", (level == AS3935_NOISE_FLOOR_LEVEL_OUTDOOR_2000_INDOOR_146) ? "ok" : "error");
483
484 /* as3935_set_watchdog_threshold/as3935_get_watchdog_threshold test */
485 as3935_interface_debug_print("as3935: as3935_set_watchdog_threshold/as3935_get_watchdog_threshold test.\n");
486
487 threshold = rand() % 0xFU;
488 res = as3935_set_watchdog_threshold(&gs_handle, threshold);
489 if (res != 0)
490 {
491 as3935_interface_debug_print("as3935: set watchdog threshold failed.\n");
492 (void)as3935_deinit(&gs_handle);
493
494 return 1;
495 }
496 as3935_interface_debug_print("as3935: set watchdog threshold %d.\n", threshold);
497 res = as3935_get_watchdog_threshold(&gs_handle, &threshold_check);
498 if (res != 0)
499 {
500 as3935_interface_debug_print("as3935: get watchdog threshold failed.\n");
501 (void)as3935_deinit(&gs_handle);
502
503 return 1;
504 }
505
506 /* as3935_set_clear_statistics/as3935_get_clear_statistics test */
507 as3935_interface_debug_print("as3935: as3935_set_clear_statistics/as3935_get_clear_statistics test.\n");
508
509 /* enable clear statistics */
511 if (res != 0)
512 {
513 as3935_interface_debug_print("as3935: set clear statistics failed.\n");
514 (void)as3935_deinit(&gs_handle);
515
516 return 1;
517 }
518 as3935_interface_debug_print("as3935: enable clear statistics.\n");
519 res = as3935_get_clear_statistics(&gs_handle, &enable);
520 if (res != 0)
521 {
522 as3935_interface_debug_print("as3935: get clear statistics failed.\n");
523 (void)as3935_deinit(&gs_handle);
524
525 return 1;
526 }
527 as3935_interface_debug_print("as3935: check clear statistics %s.\n", (enable == AS3935_BOOL_TRUE) ? "ok" : "error");
528
529 /* disable clear statistics */
531 if (res != 0)
532 {
533 as3935_interface_debug_print("as3935: set clear statistics failed.\n");
534 (void)as3935_deinit(&gs_handle);
535
536 return 1;
537 }
538 as3935_interface_debug_print("as3935: disable clear statistics.\n");
539 res = as3935_get_clear_statistics(&gs_handle, &enable);
540 if (res != 0)
541 {
542 as3935_interface_debug_print("as3935: get clear statistics failed.\n");
543 (void)as3935_deinit(&gs_handle);
544
545 return 1;
546 }
547 as3935_interface_debug_print("as3935: check clear statistics %s.\n", (enable == AS3935_BOOL_FALSE) ? "ok" : "error");
548
549 /* as3935_set_lightning_min_number/as3935_get_lightning_min_number test */
550 as3935_interface_debug_print("as3935: as3935_set_lightning_min_number/as3935_get_lightning_min_number test.\n");
551
552 /* set lightning min number 1 */
554 if (res != 0)
555 {
556 as3935_interface_debug_print("as3935: set lightning min number failed.\n");
557 (void)as3935_deinit(&gs_handle);
558
559 return 1;
560 }
561 as3935_interface_debug_print("as3935: set lightning min number 1.\n");
562 res = as3935_get_lightning_min_number(&gs_handle, &number);
563 if (res != 0)
564 {
565 as3935_interface_debug_print("as3935: get lightning min number failed.\n");
566 (void)as3935_deinit(&gs_handle);
567
568 return 1;
569 }
570 as3935_interface_debug_print("as3935: check lightning min number %s.\n", (number == AS3935_LIGHTNING_MIN_NUMBER_1) ? "ok" : "error");
571
572 /* set lightning min number 5 */
574 if (res != 0)
575 {
576 as3935_interface_debug_print("as3935: set lightning min number failed.\n");
577 (void)as3935_deinit(&gs_handle);
578
579 return 1;
580 }
581 as3935_interface_debug_print("as3935: set lightning min number 5.\n");
582 res = as3935_get_lightning_min_number(&gs_handle, &number);
583 if (res != 0)
584 {
585 as3935_interface_debug_print("as3935: get lightning min number failed.\n");
586 (void)as3935_deinit(&gs_handle);
587
588 return 1;
589 }
590 as3935_interface_debug_print("as3935: check lightning min number %s.\n", (number == AS3935_LIGHTNING_MIN_NUMBER_5) ? "ok" : "error");
591
592 /* set lightning min number 9 */
594 if (res != 0)
595 {
596 as3935_interface_debug_print("as3935: set lightning min number failed.\n");
597 (void)as3935_deinit(&gs_handle);
598
599 return 1;
600 }
601 as3935_interface_debug_print("as3935: set lightning min number 9.\n");
602 res = as3935_get_lightning_min_number(&gs_handle, &number);
603 if (res != 0)
604 {
605 as3935_interface_debug_print("as3935: get lightning min number failed.\n");
606 (void)as3935_deinit(&gs_handle);
607
608 return 1;
609 }
610 as3935_interface_debug_print("as3935: check lightning min number %s.\n", (number == AS3935_LIGHTNING_MIN_NUMBER_9) ? "ok" : "error");
611
612 /* set lightning min number 16 */
614 if (res != 0)
615 {
616 as3935_interface_debug_print("as3935: set lightning min number failed.\n");
617 (void)as3935_deinit(&gs_handle);
618
619 return 1;
620 }
621 as3935_interface_debug_print("as3935: set lightning min number 16.\n");
622 res = as3935_get_lightning_min_number(&gs_handle, &number);
623 if (res != 0)
624 {
625 as3935_interface_debug_print("as3935: get lightning min number failed.\n");
626 (void)as3935_deinit(&gs_handle);
627
628 return 1;
629 }
630 as3935_interface_debug_print("as3935: check lightning min number %s.\n", (number == AS3935_LIGHTNING_MIN_NUMBER_16) ? "ok" : "error");
631
632 /* as3935_set_spike_rejection/as3935_get_spike_rejection test */
633 as3935_interface_debug_print("as3935: as3935_set_spike_rejection/as3935_get_spike_rejection test.\n");
634
635 rejection = rand() % 0xFU;
636 res = as3935_set_spike_rejection(&gs_handle, rejection);
637 if (res != 0)
638 {
639 as3935_interface_debug_print("as3935: set spike rejection failed.\n");
640 (void)as3935_deinit(&gs_handle);
641
642 return 1;
643 }
644 as3935_interface_debug_print("as3935: set spike rejection %d.\n", rejection);
645 res = as3935_get_spike_rejection(&gs_handle, &rejection_check);
646 if (res != 0)
647 {
648 as3935_interface_debug_print("as3935: get spike rejection failed.\n");
649 (void)as3935_deinit(&gs_handle);
650
651 return 1;
652 }
653 as3935_interface_debug_print("as3935: check spike rejection %s.\n", (rejection == rejection_check) ? "ok" : "error");
654
655 /* as3935_set_frequency_division_ration/as3935_get_frequency_division_ration test */
656 as3935_interface_debug_print("as3935: as3935_set_frequency_division_ration/as3935_get_frequency_division_ration test.\n");
657
658 /* set frequency division ration 16 */
660 if (res != 0)
661 {
662 as3935_interface_debug_print("as3935: set frequency division ration failed.\n");
663 (void)as3935_deinit(&gs_handle);
664
665 return 1;
666 }
667 as3935_interface_debug_print("as3935: set frequency division ration 16.\n");
668 res = as3935_get_frequency_division_ration(&gs_handle, &division);
669 if (res != 0)
670 {
671 as3935_interface_debug_print("as3935: get frequency division ration failed.\n");
672 (void)as3935_deinit(&gs_handle);
673
674 return 1;
675 }
676 as3935_interface_debug_print("as3935: check frequency division ration %s.\n", (division == AS3935_FREQUENCY_DIVISION_RATION_16) ? "ok" : "error");
677
678 /* set frequency division ration 32 */
680 if (res != 0)
681 {
682 as3935_interface_debug_print("as3935: set frequency division ration failed.\n");
683 (void)as3935_deinit(&gs_handle);
684
685 return 1;
686 }
687 as3935_interface_debug_print("as3935: set frequency division ration 32.\n");
688 res = as3935_get_frequency_division_ration(&gs_handle, &division);
689 if (res != 0)
690 {
691 as3935_interface_debug_print("as3935: get frequency division ration failed.\n");
692 (void)as3935_deinit(&gs_handle);
693
694 return 1;
695 }
696 as3935_interface_debug_print("as3935: check frequency division ration %s.\n", (division == AS3935_FREQUENCY_DIVISION_RATION_32) ? "ok" : "error");
697
698 /* set frequency division ration 64 */
700 if (res != 0)
701 {
702 as3935_interface_debug_print("as3935: set frequency division ration failed.\n");
703 (void)as3935_deinit(&gs_handle);
704
705 return 1;
706 }
707 as3935_interface_debug_print("as3935: set frequency division ration 64.\n");
708 res = as3935_get_frequency_division_ration(&gs_handle, &division);
709 if (res != 0)
710 {
711 as3935_interface_debug_print("as3935: get frequency division ration failed.\n");
712 (void)as3935_deinit(&gs_handle);
713
714 return 1;
715 }
716 as3935_interface_debug_print("as3935: check frequency division ration %s.\n", (division == AS3935_FREQUENCY_DIVISION_RATION_64) ? "ok" : "error");
717
718 /* set frequency division ration 128 */
720 if (res != 0)
721 {
722 as3935_interface_debug_print("as3935: set frequency division ration failed.\n");
723 (void)as3935_deinit(&gs_handle);
724
725 return 1;
726 }
727 as3935_interface_debug_print("as3935: set frequency division ration 128.\n");
728 res = as3935_get_frequency_division_ration(&gs_handle, &division);
729 if (res != 0)
730 {
731 as3935_interface_debug_print("as3935: get frequency division ration failed.\n");
732 (void)as3935_deinit(&gs_handle);
733
734 return 1;
735 }
736 as3935_interface_debug_print("as3935: check frequency division ration %s.\n", (division == AS3935_FREQUENCY_DIVISION_RATION_128) ? "ok" : "error");
737
738 /* as3935_set_mask_disturber/as3935_get_mask_disturber test */
739 as3935_interface_debug_print("as3935: as3935_set_mask_disturber/as3935_get_mask_disturber test.\n");
740
741 /* enable mask disturber */
743 if (res != 0)
744 {
745 as3935_interface_debug_print("as3935: set mask disturber failed.\n");
746 (void)as3935_deinit(&gs_handle);
747
748 return 1;
749 }
750 as3935_interface_debug_print("as3935: enable mask disturber.\n");
751 res = as3935_get_mask_disturber(&gs_handle, &enable);
752 if (res != 0)
753 {
754 as3935_interface_debug_print("as3935: get mask disturber failed.\n");
755 (void)as3935_deinit(&gs_handle);
756
757 return 1;
758 }
759 as3935_interface_debug_print("as3935: check mask disturber %s.\n", (enable == AS3935_BOOL_TRUE) ? "ok" : "error");
760
761 /* disable mask disturber */
763 if (res != 0)
764 {
765 as3935_interface_debug_print("as3935: set mask disturber failed.\n");
766 (void)as3935_deinit(&gs_handle);
767
768 return 1;
769 }
770 as3935_interface_debug_print("as3935: disable mask disturber.\n");
771 res = as3935_get_mask_disturber(&gs_handle, &enable);
772 if (res != 0)
773 {
774 as3935_interface_debug_print("as3935: get mask disturber failed.\n");
775 (void)as3935_deinit(&gs_handle);
776
777 return 1;
778 }
779 as3935_interface_debug_print("as3935: check mask disturber %s.\n", (enable == AS3935_BOOL_FALSE) ? "ok" : "error");
780
781 /* as3935_get_interrupt_status test */
782 as3935_interface_debug_print("as3935: as3935_get_interrupt_status test.\n");
783
784 /* get interrupt status */
785 res = as3935_get_interrupt_status(&gs_handle, &status);
786 if (res != 0)
787 {
788 as3935_interface_debug_print("as3935: get interrupt status failed.\n");
789 (void)as3935_deinit(&gs_handle);
790
791 return 1;
792 }
793 as3935_interface_debug_print("as3935: interrupt status is 0x%02X.\n", status);
794
795 /* as3935_set_lc_osc_display_on_irq/as3935_get_display_lc_osc_on_irq test */
796 as3935_interface_debug_print("as3935: as3935_set_lc_osc_display_on_irq/as3935_get_display_lc_osc_on_irq test.\n");
797
798 /* enable lc osc display on irq */
800 if (res != 0)
801 {
802 as3935_interface_debug_print("as3935: set lc osc display on irq failed.\n");
803 (void)as3935_deinit(&gs_handle);
804
805 return 1;
806 }
807 as3935_interface_debug_print("as3935: enable lc osc display on irq.\n");
808 res = as3935_get_display_lc_osc_on_irq(&gs_handle, &enable);
809 if (res != 0)
810 {
811 as3935_interface_debug_print("as3935: get lc osc display on irq failed.\n");
812 (void)as3935_deinit(&gs_handle);
813
814 return 1;
815 }
816 as3935_interface_debug_print("as3935: check lc osc display on irq %s.\n", (enable == AS3935_BOOL_TRUE) ? "ok" : "error");
817
818 /* disable lc osc display on irq */
820 if (res != 0)
821 {
822 as3935_interface_debug_print("as3935: set lc osc display on irq failed.\n");
823 (void)as3935_deinit(&gs_handle);
824
825 return 1;
826 }
827 as3935_interface_debug_print("as3935: disable lc osc display on irq.\n");
828 res = as3935_get_display_lc_osc_on_irq(&gs_handle, &enable);
829 if (res != 0)
830 {
831 as3935_interface_debug_print("as3935: get lc osc display on irq failed.\n");
832 (void)as3935_deinit(&gs_handle);
833
834 return 1;
835 }
836 as3935_interface_debug_print("as3935: check lc osc display on irq %s.\n", (enable == AS3935_BOOL_FALSE) ? "ok" : "error");
837
838 /* as3935_set_system_rc_osc_display_on_irq/as3935_get_system_rc_osc_display_on_irq test */
839 as3935_interface_debug_print("as3935: as3935_set_system_rc_osc_display_on_irq/as3935_get_system_rc_osc_display_on_irq test.\n");
840
841 /* enable system rc osc display on irq */
843 if (res != 0)
844 {
845 as3935_interface_debug_print("as3935: set system rc osc display on irq failed.\n");
846 (void)as3935_deinit(&gs_handle);
847
848 return 1;
849 }
850 as3935_interface_debug_print("as3935: enable system rc osc display on irq.\n");
851 res = as3935_get_system_rc_osc_display_on_irq(&gs_handle, &enable);
852 if (res != 0)
853 {
854 as3935_interface_debug_print("as3935: get system rc osc display on irq failed.\n");
855 (void)as3935_deinit(&gs_handle);
856
857 return 1;
858 }
859 as3935_interface_debug_print("as3935: check system rc osc display on irq %s.\n", (enable == AS3935_BOOL_TRUE) ? "ok" : "error");
860
861 /* disable system rc osc display on irq */
863 if (res != 0)
864 {
865 as3935_interface_debug_print("as3935: set system rc osc display on irq failed.\n");
866 (void)as3935_deinit(&gs_handle);
867
868 return 1;
869 }
870 as3935_interface_debug_print("as3935: disable system rc osc display on irq.\n");
871 res = as3935_get_system_rc_osc_display_on_irq(&gs_handle, &enable);
872 if (res != 0)
873 {
874 as3935_interface_debug_print("as3935: get system rc osc display on irq failed.\n");
875 (void)as3935_deinit(&gs_handle);
876
877 return 1;
878 }
879 as3935_interface_debug_print("as3935: check system rc osc display on irq %s.\n", (enable == AS3935_BOOL_FALSE) ? "ok" : "error");
880
881 /* as3935_set_timer_rc_osc_display_on_irq/as3935_get_timer_rc_osc_display_on_irq test */
882 as3935_interface_debug_print("as3935: as3935_set_timer_rc_osc_display_on_irq/as3935_get_timer_rc_osc_display_on_irq test.\n");
883
884 /* enable timer rc osc display on irq */
886 if (res != 0)
887 {
888 as3935_interface_debug_print("as3935: set timer rc osc display on irq failed.\n");
889 (void)as3935_deinit(&gs_handle);
890
891 return 1;
892 }
893 as3935_interface_debug_print("as3935: enable timer rc osc display on irq.\n");
894 res = as3935_get_timer_rc_osc_display_on_irq(&gs_handle, &enable);
895 if (res != 0)
896 {
897 as3935_interface_debug_print("as3935: get timer rc osc display on irq failed.\n");
898 (void)as3935_deinit(&gs_handle);
899
900 return 1;
901 }
902 as3935_interface_debug_print("as3935: check timer rc osc display on irq %s.\n", (enable == AS3935_BOOL_TRUE) ? "ok" : "error");
903
904 /* disable timer rc osc display on irq */
906 if (res != 0)
907 {
908 as3935_interface_debug_print("as3935: set timer rc osc display on irq failed.\n");
909 (void)as3935_deinit(&gs_handle);
910
911 return 1;
912 }
913 as3935_interface_debug_print("as3935: disable timer rc osc display on irq.\n");
914 res = as3935_get_timer_rc_osc_display_on_irq(&gs_handle, &enable);
915 if (res != 0)
916 {
917 as3935_interface_debug_print("as3935: get timer rc osc display on irq failed.\n");
918 (void)as3935_deinit(&gs_handle);
919
920 return 1;
921 }
922 as3935_interface_debug_print("as3935: check timer rc osc display on irq %s.\n", (enable == AS3935_BOOL_FALSE) ? "ok" : "error");
923
924 /* as3935_set_internal_tuning_capacitor/as3935_get_internal_tuning_capacitor test */
925 as3935_interface_debug_print("as3935: as3935_set_internal_tuning_capacitor/as3935_get_internal_tuning_capacitor test.\n");
926
927 cap = rand() % 0xFU;
928 res = as3935_set_internal_tuning_capacitor(&gs_handle, cap);
929 if (res != 0)
930 {
931 as3935_interface_debug_print("as3935: set internal tuning capacitor failed.\n");
932 (void)as3935_deinit(&gs_handle);
933
934 return 1;
935 }
936 as3935_interface_debug_print("as3935: set internal tuning capacitor %d.\n", cap);
937 res = as3935_get_internal_tuning_capacitor(&gs_handle, &cap_check);
938 if (res != 0)
939 {
940 as3935_interface_debug_print("as3935: get internal tuning capacitor failed.\n");
941 (void)as3935_deinit(&gs_handle);
942
943 return 1;
944 }
945 as3935_interface_debug_print("as3935: check internal tuning capacitor %s.\n", (cap_check == cap) ? "ok" : "error");
946
947 /* as3935_get_timer_rc_osc_calibration_done test */
948 as3935_interface_debug_print("as3935: as3935_get_timer_rc_osc_calibration_done test.\n");
949
950 /* get timer rc osc calibration done */
951 res = as3935_get_timer_rc_osc_calibration_done(&gs_handle, &enable);
952 if (res != 0)
953 {
954 as3935_interface_debug_print("as3935: get timer rc osc calibration done failed.\n");
955 (void)as3935_deinit(&gs_handle);
956
957 return 1;
958 }
959 as3935_interface_debug_print("as3935: timer rc osc calibration done is %s.\n", (enable == AS3935_BOOL_TRUE) ? "true" : "false");
960
961 /* as3935_get_timer_rc_osc_calibration_not_ok test */
962 as3935_interface_debug_print("as3935: as3935_get_timer_rc_osc_calibration_not_ok test.\n");
963
964 /* get timer rc osc calibration not ok */
965 res = as3935_get_timer_rc_osc_calibration_not_ok(&gs_handle, &enable);
966 if (res != 0)
967 {
968 as3935_interface_debug_print("as3935: get timer rc osc calibration not ok failed.\n");
969 (void)as3935_deinit(&gs_handle);
970
971 return 1;
972 }
973 as3935_interface_debug_print("as3935: timer rc osc calibration not ok is %s.\n", (enable == AS3935_BOOL_TRUE) ? "true" : "false");
974
975 /* as3935_get_system_rc_osc_calibration_done test */
976 as3935_interface_debug_print("as3935: as3935_get_system_rc_osc_calibration_done test.\n");
977
978 /* get system rc osc calibration done */
979 res = as3935_get_system_rc_osc_calibration_done(&gs_handle, &enable);
980 if (res != 0)
981 {
982 as3935_interface_debug_print("as3935: get system rc osc calibration done failed.\n");
983 (void)as3935_deinit(&gs_handle);
984
985 return 1;
986 }
987 as3935_interface_debug_print("as3935: system rc osc calibration done is %s.\n", (enable == AS3935_BOOL_TRUE) ? "true" : "false");
988
989 /* as3935_get_system_rc_osc_calibration_not_ok test */
990 as3935_interface_debug_print("as3935: as3935_get_system_rc_osc_calibration_not_ok test.\n");
991
992 /* get system rc osc calibration not ok */
993 res = as3935_get_system_rc_osc_calibration_not_ok(&gs_handle, &enable);
994 if (res != 0)
995 {
996 as3935_interface_debug_print("as3935: get system rc osc calibration not ok failed.\n");
997 (void)as3935_deinit(&gs_handle);
998
999 return 1;
1000 }
1001 as3935_interface_debug_print("as3935: system rc osc calibration not ok is %s.\n", (enable == AS3935_BOOL_TRUE) ? "true" : "false");
1002
1003 /* as3935_reset_default test */
1004 as3935_interface_debug_print("as3935: as3935_reset_default test.\n");
1005
1006 /* reset default */
1007 res = as3935_reset_default(&gs_handle);
1008 if (res != 0)
1009 {
1010 as3935_interface_debug_print("as3935: reset default failed.\n");
1011 (void)as3935_deinit(&gs_handle);
1012
1013 return 1;
1014 }
1015 as3935_interface_debug_print("as3935: check reset default %s.\n", (res == 0) ? "ok" : "error");
1016
1017 /* as3935_set_calibrate_rc_osc test */
1018 as3935_interface_debug_print("as3935: as3935_set_calibrate_rc_osc test.\n");
1019
1020 /* set calibrate rc osc */
1021 res = as3935_set_calibrate_rc_osc(&gs_handle);
1022 if (res != 0)
1023 {
1024 as3935_interface_debug_print("as3935: set calibrate rc osc failed.\n");
1025 (void)as3935_deinit(&gs_handle);
1026
1027 return 1;
1028 }
1029 as3935_interface_debug_print("as3935: check calibrate rc osc %s.\n", (res == 0) ? "ok" : "error");
1031
1032 /* as3935_internal_tuning_capacitor_convert_to_register/as3935_internal_tuning_capacitor_convert_to_data test */
1033 as3935_interface_debug_print("as3935: as3935_internal_tuning_capacitor_convert_to_register/as3935_internal_tuning_capacitor_convert_to_data test.\n");
1034
1035 /* internal tuning capacitor convert to register */
1036 pf = (float)(rand() % 1200) / 10.0f;
1037 res = as3935_internal_tuning_capacitor_convert_to_register(&gs_handle, pf, &reg);
1038 if (res != 0)
1039 {
1040 as3935_interface_debug_print("as3935: internal tuning capacitor convert to register failed.\n");
1041 (void)as3935_deinit(&gs_handle);
1042
1043 return 1;
1044 }
1045 as3935_interface_debug_print("as3935: set internal tuning capacitor %0.1fpf.\n", pf);
1046 res = as3935_internal_tuning_capacitor_convert_to_data(&gs_handle, reg, &pf_check);
1047 if (res != 0)
1048 {
1049 as3935_interface_debug_print("as3935: internal tuning capacitor convert to data failed.\n");
1050 (void)as3935_deinit(&gs_handle);
1051
1052 return 1;
1053 }
1054 as3935_interface_debug_print("as3935: check internal tuning capacitor %0.1fpf.\n", pf_check);
1055
1056 /* finish register test */
1057 as3935_interface_debug_print("as3935: finish register test.\n");
1058 (void)as3935_deinit(&gs_handle);
1059
1060 return 0;
1061}
driver as3935 register test header file
uint8_t as3935_set_frequency_division_ration(as3935_handle_t *handle, as3935_frequency_division_ration_t division)
set frequency division ration
uint8_t as3935_set_interface(as3935_handle_t *handle, as3935_interface_t interface)
set the chip interface
uint8_t as3935_set_clear_statistics(as3935_handle_t *handle, as3935_bool_t enable)
enable or disable clear statistics
uint8_t as3935_set_power_down(as3935_handle_t *handle, as3935_bool_t enable)
set power down
uint8_t as3935_get_lightning_min_number(as3935_handle_t *handle, as3935_lightning_min_number_t *number)
get lightning min number
uint8_t as3935_get_watchdog_threshold(as3935_handle_t *handle, uint8_t *threshold)
get watchdog threshold
uint8_t as3935_get_spike_rejection(as3935_handle_t *handle, uint8_t *rejection)
get spike rejection
uint8_t as3935_set_watchdog_threshold(as3935_handle_t *handle, uint8_t threshold)
set watchdog threshold
uint8_t as3935_get_frequency_division_ration(as3935_handle_t *handle, as3935_frequency_division_ration_t *division)
get frequency division ration
uint8_t as3935_info(as3935_info_t *info)
get chip's information
uint8_t as3935_set_spike_rejection(as3935_handle_t *handle, uint8_t rejection)
set spike rejection
uint8_t as3935_get_noise_floor_level(as3935_handle_t *handle, as3935_noise_floor_level_t *level)
get noise floor level
uint8_t as3935_get_internal_tuning_capacitor(as3935_handle_t *handle, uint8_t *cap)
get internal tuning capacitor
uint8_t as3935_internal_tuning_capacitor_convert_to_register(as3935_handle_t *handle, float pf, uint8_t *reg)
convert the internal tuning capacitor to the register raw data
uint8_t as3935_get_clear_statistics(as3935_handle_t *handle, as3935_bool_t *enable)
get clear statistics status
uint8_t as3935_set_noise_floor_level(as3935_handle_t *handle, as3935_noise_floor_level_t level)
set noise floor level
uint8_t as3935_set_calibrate_rc_osc(as3935_handle_t *handle)
calibrate rc osc
uint8_t as3935_deinit(as3935_handle_t *handle)
close the chip
uint8_t as3935_get_power_down(as3935_handle_t *handle, as3935_bool_t *enable)
get power down
uint8_t as3935_get_interface(as3935_handle_t *handle, as3935_interface_t *interface)
get the chip interface
uint8_t as3935_set_afe_gain_boost(as3935_handle_t *handle, as3935_afe_gain_t gain)
set afe gain boost
as3935_interrupt_status_t
as3935 interrupt status enumeration definition
as3935_address_t
as3935 address enumeration definition
as3935_interface_t
as3935 interface enumeration definition
uint8_t as3935_set_mask_disturber(as3935_handle_t *handle, as3935_bool_t enable)
enable or disable mask disturber
uint8_t as3935_get_mask_disturber(as3935_handle_t *handle, as3935_bool_t *enable)
get mask disturber status
uint8_t as3935_set_internal_tuning_capacitor(as3935_handle_t *handle, uint8_t cap)
set internal tuning capacitor
struct as3935_info_s as3935_info_t
as3935 information structure definition
uint8_t as3935_get_addr_pin(as3935_handle_t *handle, as3935_address_t *addr_pin)
get the iic address pin
uint8_t as3935_init(as3935_handle_t *handle)
initialize the chip
struct as3935_handle_s as3935_handle_t
as3935 handle structure definition
uint8_t as3935_get_interrupt_status(as3935_handle_t *handle, as3935_interrupt_status_t *status)
get interrupt status
uint8_t as3935_get_afe_gain_boost(as3935_handle_t *handle, as3935_afe_gain_t *gain)
get afe gain boost
uint8_t as3935_get_timer_rc_osc_calibration_done(as3935_handle_t *handle, as3935_bool_t *enable)
get timer rc osc calibration done status
as3935_frequency_division_ration_t
as3935 frequency division ration enumeration definition
uint8_t as3935_set_lightning_min_number(as3935_handle_t *handle, as3935_lightning_min_number_t number)
set lightning min number
uint8_t as3935_set_addr_pin(as3935_handle_t *handle, as3935_address_t addr_pin)
set the iic address pin
uint8_t as3935_get_system_rc_osc_calibration_done(as3935_handle_t *handle, as3935_bool_t *enable)
get system rc osc calibration done status
uint8_t as3935_set_system_rc_osc_display_on_irq(as3935_handle_t *handle, as3935_bool_t enable)
enable or disable system rc osc display on irq
as3935_noise_floor_level_t
as3935 noise floor level enumeration definition
uint8_t as3935_set_lc_osc_display_on_irq(as3935_handle_t *handle, as3935_bool_t enable)
enable or disable lc osc display on irq
uint8_t as3935_get_system_rc_osc_calibration_not_ok(as3935_handle_t *handle, as3935_bool_t *enable)
get system rc osc calibration not ok status
as3935_bool_t
as3935 bool enumeration definition
uint8_t as3935_get_display_lc_osc_on_irq(as3935_handle_t *handle, as3935_bool_t *enable)
get lc osc display on irq status
uint8_t as3935_reset_default(as3935_handle_t *handle)
reset to default
as3935_lightning_min_number_t
as3935 lightning min number enumeration definition
uint8_t as3935_internal_tuning_capacitor_convert_to_data(as3935_handle_t *handle, uint8_t reg, float *pf)
convert the register raw data to the internal tuning capacitor
uint8_t as3935_set_timer_rc_osc_display_on_irq(as3935_handle_t *handle, as3935_bool_t enable)
enable or disable timer rc osc display on irq
uint8_t as3935_get_timer_rc_osc_calibration_not_ok(as3935_handle_t *handle, as3935_bool_t *enable)
get timer rc osc calibration not ok status
as3935_afe_gain_t
as3935 afe gain enumeration definition
uint8_t as3935_get_timer_rc_osc_display_on_irq(as3935_handle_t *handle, as3935_bool_t *enable)
get timer rc osc display on irq status
uint8_t as3935_get_system_rc_osc_display_on_irq(as3935_handle_t *handle, as3935_bool_t *enable)
get system rc osc display on irq status
@ AS3935_ADDRESS_1
@ AS3935_ADDRESS_2
@ AS3935_ADDRESS_3
@ AS3935_INTERFACE_SPI
@ AS3935_INTERFACE_IIC
@ AS3935_FREQUENCY_DIVISION_RATION_32
@ AS3935_FREQUENCY_DIVISION_RATION_16
@ AS3935_FREQUENCY_DIVISION_RATION_128
@ AS3935_FREQUENCY_DIVISION_RATION_64
@ AS3935_NOISE_FLOOR_LEVEL_OUTDOOR_1570_INDOOR_112
@ AS3935_NOISE_FLOOR_LEVEL_OUTDOOR_630_INDOOR_45
@ AS3935_NOISE_FLOOR_LEVEL_OUTDOOR_1140_INDOOR_95
@ AS3935_NOISE_FLOOR_LEVEL_OUTDOOR_860_INDOOR_62
@ AS3935_NOISE_FLOOR_LEVEL_OUTDOOR_390_INDOOR_28
@ AS3935_NOISE_FLOOR_LEVEL_OUTDOOR_2000_INDOOR_146
@ AS3935_NOISE_FLOOR_LEVEL_OUTDOOR_1100_INDOOR_78
@ AS3935_NOISE_FLOOR_LEVEL_OUTDOOR_1800_INDOOR_130
@ AS3935_BOOL_FALSE
@ AS3935_BOOL_TRUE
@ AS3935_LIGHTNING_MIN_NUMBER_1
@ AS3935_LIGHTNING_MIN_NUMBER_9
@ AS3935_LIGHTNING_MIN_NUMBER_16
@ AS3935_LIGHTNING_MIN_NUMBER_5
@ AS3935_AFE_GAIN_INDOOR
@ AS3935_AFE_GAIN_OUTDOOR
void as3935_interface_debug_print(const char *const fmt,...)
interface print format data
void as3935_interface_receive_callback(uint8_t type)
interface receive callback
uint8_t as3935_interface_iic_write(uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len)
interface iic bus write
void as3935_interface_delay_ms(uint32_t ms)
interface delay ms
uint8_t as3935_interface_iic_deinit(void)
interface iic bus deinit
uint8_t as3935_interface_iic_read(uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len)
interface iic bus read
uint8_t as3935_interface_iic_init(void)
interface iic bus init
uint8_t as3935_interface_spi_init(void)
interface spi bus init
uint8_t as3935_interface_spi_read(uint8_t reg, uint8_t *buf, uint16_t len)
interface spi bus read
uint8_t as3935_interface_spi_deinit(void)
interface spi bus deinit
uint8_t as3935_interface_spi_write(uint8_t reg, uint8_t *buf, uint16_t len)
interface spi bus write
uint8_t as3935_register_test(as3935_interface_t interface, as3935_address_t addr_pin)
register test
float supply_voltage_max_v
uint32_t driver_version
char manufacturer_name[32]
float supply_voltage_min_v
char chip_name[32]