LibDriver MAG3110
Loading...
Searching...
No Matches
driver_mag3110_register_test.c
Go to the documentation of this file.
1
36
38#include <stdlib.h>
39
40static mag3110_handle_t gs_handle;
41
50{
51 uint8_t res;
52 uint8_t status;
53 uint16_t offset;
54 uint16_t offset_check;
55 uint16_t reg;
56 float ut;
57 float ut_check;
58 mag3110_info_t info;
59 mag3110_mode_t mode;
60 mag3110_mode_status_t mode_status;
61 mag3110_rate_over_sample_t rate_over_sample;
62 mag3110_bool_t enable;
63
64 /* link interface function */
72
73 /* get mag3110 info */
74 res = mag3110_info(&info);
75 if (res != 0)
76 {
77 mag3110_interface_debug_print("mag3110: get info failed.\n");
78
79 return 1;
80 }
81 else
82 {
83 /* print chip information */
84 mag3110_interface_debug_print("mag3110: chip is %s.\n", info.chip_name);
85 mag3110_interface_debug_print("mag3110: manufacturer is %s.\n", info.manufacturer_name);
86 mag3110_interface_debug_print("mag3110: interface is %s.\n", info.interface);
87 mag3110_interface_debug_print("mag3110: driver version is %d.%d.\n", info.driver_version / 1000, (info.driver_version % 1000) / 100);
88 mag3110_interface_debug_print("mag3110: min supply voltage is %0.1fV.\n", info.supply_voltage_min_v);
89 mag3110_interface_debug_print("mag3110: max supply voltage is %0.1fV.\n", info.supply_voltage_max_v);
90 mag3110_interface_debug_print("mag3110: max current is %0.2fmA.\n", info.max_current_ma);
91 mag3110_interface_debug_print("mag3110: max temperature is %0.1fC.\n", info.temperature_max);
92 mag3110_interface_debug_print("mag3110: min temperature is %0.1fC.\n", info.temperature_min);
93 }
94
95 /* mag3110 init */
96 res = mag3110_init(&gs_handle);
97 if (res != 0)
98 {
99 mag3110_interface_debug_print("mag3110: init failed.\n");
100
101 return 1;
102 }
103
104 /* start register test */
105 mag3110_interface_debug_print("mag3110: start register test.\n");
106
107 /* mag3110_get_data_ready_status test */
108 mag3110_interface_debug_print("mag3110: mag3110_get_data_ready_status test.\n");
109
110 /* get data ready status */
111 res = mag3110_get_data_ready_status(&gs_handle, &status);
112 if (res != 0)
113 {
114 mag3110_interface_debug_print("mag3110: get data ready status failed.\n");
115 (void)mag3110_deinit(&gs_handle);
116
117 return 1;
118 }
119 mag3110_interface_debug_print("mag3110: data status is 0x%02X.\n", status);
120
121 /* mag3110_get_mode_status test */
122 mag3110_interface_debug_print("mag3110: mag3110_get_mode_status test.\n");
123
124 /* get mode status */
125 res = mag3110_get_mode_status(&gs_handle, &mode_status);
126 if (res != 0)
127 {
128 mag3110_interface_debug_print("mag3110: get mode status failed.\n");
129 (void)mag3110_deinit(&gs_handle);
130
131 return 1;
132 }
133 mag3110_interface_debug_print("mag3110: mode status is 0x%02X.\n", (uint8_t)mode_status);
134
135 /* mag3110_set_offset_x/mag3110_get_offset_x test */
136 mag3110_interface_debug_print("mag3110: mag3110_set_offset_x/mag3110_get_offset_x test.\n");
137
138 offset = rand() % 0x7FFFU;
139 res = mag3110_set_offset_x(&gs_handle, offset);
140 if (res != 0)
141 {
142 mag3110_interface_debug_print("mag3110: set offset x failed.\n");
143 (void)mag3110_deinit(&gs_handle);
144
145 return 1;
146 }
147 mag3110_interface_debug_print("mag3110: set offset x 0x%04X.\n", offset);
148 res = mag3110_get_offset_x(&gs_handle, &offset_check);
149 if (res != 0)
150 {
151 mag3110_interface_debug_print("mag3110: get offset x failed.\n");
152 (void)mag3110_deinit(&gs_handle);
153
154 return 1;
155 }
156 mag3110_interface_debug_print("mag3110: check offset x %s.\n", (offset == offset_check) ? "ok" : "error");
157
158 /* mag3110_set_offset_y/mag3110_get_offset_y test */
159 mag3110_interface_debug_print("mag3110: mag3110_set_offset_y/mag3110_get_offset_y test.\n");
160
161 offset = rand() % 0x7FFFU;
162 res = mag3110_set_offset_y(&gs_handle, offset);
163 if (res != 0)
164 {
165 mag3110_interface_debug_print("mag3110: set offset y failed.\n");
166 (void)mag3110_deinit(&gs_handle);
167
168 return 1;
169 }
170 mag3110_interface_debug_print("mag3110: set offset y 0x%04X.\n", offset);
171 res = mag3110_get_offset_y(&gs_handle, &offset_check);
172 if (res != 0)
173 {
174 mag3110_interface_debug_print("mag3110: get offset y failed.\n");
175 (void)mag3110_deinit(&gs_handle);
176
177 return 1;
178 }
179 mag3110_interface_debug_print("mag3110: check offset y %s.\n", (offset == offset_check) ? "ok" : "error");
180
181 /* mag3110_set_offset_z/mag3110_get_offset_z test */
182 mag3110_interface_debug_print("mag3110: mag3110_set_offset_z/mag3110_get_offset_z test.\n");
183
184 offset = rand() % 0x7FFFU;
185 res = mag3110_set_offset_z(&gs_handle, offset);
186 if (res != 0)
187 {
188 mag3110_interface_debug_print("mag3110: set offset z failed.\n");
189 (void)mag3110_deinit(&gs_handle);
190
191 return 1;
192 }
193 mag3110_interface_debug_print("mag3110: set offset z 0x%04X.\n", offset);
194 res = mag3110_get_offset_z(&gs_handle, &offset_check);
195 if (res != 0)
196 {
197 mag3110_interface_debug_print("mag3110: get offset z failed.\n");
198 (void)mag3110_deinit(&gs_handle);
199
200 return 1;
201 }
202 mag3110_interface_debug_print("mag3110: check offset z %s.\n", (offset == offset_check) ? "ok" : "error");
203
204 /* mag3110_set_rate_over_sample/mag3110_get_rate_over_sample test */
205 mag3110_interface_debug_print("mag3110: mag3110_set_rate_over_sample/mag3110_get_rate_over_sample test.\n");
206
207 /* set rate over sample */
209 if (res != 0)
210 {
211 mag3110_interface_debug_print("mag3110: set rate over sample failed.\n");
212 (void)mag3110_deinit(&gs_handle);
213
214 return 1;
215 }
216 mag3110_interface_debug_print("mag3110: set rate 80hz, 16 over sample.\n");
217 res = mag3110_get_rate_over_sample(&gs_handle, &rate_over_sample);
218 if (res != 0)
219 {
220 mag3110_interface_debug_print("mag3110: get rate over sample failed.\n");
221 (void)mag3110_deinit(&gs_handle);
222
223 return 1;
224 }
225 mag3110_interface_debug_print("mag3110: check rate over sample z %s.\n", (rate_over_sample == MAG3110_RATE_80HZ_OVER_SAMPLE_16) ? "ok" : "error");
226
227 /* set rate over sample */
229 if (res != 0)
230 {
231 mag3110_interface_debug_print("mag3110: set rate over sample failed.\n");
232 (void)mag3110_deinit(&gs_handle);
233
234 return 1;
235 }
236 mag3110_interface_debug_print("mag3110: set rate 40hz, 32 over sample.\n");
237 res = mag3110_get_rate_over_sample(&gs_handle, &rate_over_sample);
238 if (res != 0)
239 {
240 mag3110_interface_debug_print("mag3110: get rate over sample failed.\n");
241 (void)mag3110_deinit(&gs_handle);
242
243 return 1;
244 }
245 mag3110_interface_debug_print("mag3110: check rate over sample z %s.\n", (rate_over_sample == MAG3110_RATE_40HZ_OVER_SAMPLE_32) ? "ok" : "error");
246
247 /* set rate over sample */
249 if (res != 0)
250 {
251 mag3110_interface_debug_print("mag3110: set rate over sample failed.\n");
252 (void)mag3110_deinit(&gs_handle);
253
254 return 1;
255 }
256 mag3110_interface_debug_print("mag3110: set rate 20hz, 64 over sample.\n");
257 res = mag3110_get_rate_over_sample(&gs_handle, &rate_over_sample);
258 if (res != 0)
259 {
260 mag3110_interface_debug_print("mag3110: get rate over sample failed.\n");
261 (void)mag3110_deinit(&gs_handle);
262
263 return 1;
264 }
265 mag3110_interface_debug_print("mag3110: check rate over sample z %s.\n", (rate_over_sample == MAG3110_RATE_20HZ_OVER_SAMPLE_64) ? "ok" : "error");
266
267 /* set rate over sample */
269 if (res != 0)
270 {
271 mag3110_interface_debug_print("mag3110: set rate over sample failed.\n");
272 (void)mag3110_deinit(&gs_handle);
273
274 return 1;
275 }
276 mag3110_interface_debug_print("mag3110: set rate 10hz, 128 over sample.\n");
277 res = mag3110_get_rate_over_sample(&gs_handle, &rate_over_sample);
278 if (res != 0)
279 {
280 mag3110_interface_debug_print("mag3110: get rate over sample failed.\n");
281 (void)mag3110_deinit(&gs_handle);
282
283 return 1;
284 }
285 mag3110_interface_debug_print("mag3110: check rate over sample z %s.\n", (rate_over_sample == MAG3110_RATE_10HZ_OVER_SAMPLE_128) ? "ok" : "error");
286
287 /* set rate over sample */
289 if (res != 0)
290 {
291 mag3110_interface_debug_print("mag3110: set rate over sample failed.\n");
292 (void)mag3110_deinit(&gs_handle);
293
294 return 1;
295 }
296 mag3110_interface_debug_print("mag3110: set rate 40hz, 16 over sample.\n");
297 res = mag3110_get_rate_over_sample(&gs_handle, &rate_over_sample);
298 if (res != 0)
299 {
300 mag3110_interface_debug_print("mag3110: get rate over sample failed.\n");
301 (void)mag3110_deinit(&gs_handle);
302
303 return 1;
304 }
305 mag3110_interface_debug_print("mag3110: check rate over sample z %s.\n", (rate_over_sample == MAG3110_RATE_40HZ_OVER_SAMPLE_16) ? "ok" : "error");
306
307 /* set rate over sample */
309 if (res != 0)
310 {
311 mag3110_interface_debug_print("mag3110: set rate over sample failed.\n");
312 (void)mag3110_deinit(&gs_handle);
313
314 return 1;
315 }
316 mag3110_interface_debug_print("mag3110: set rate 20hz, 32 over sample.\n");
317 res = mag3110_get_rate_over_sample(&gs_handle, &rate_over_sample);
318 if (res != 0)
319 {
320 mag3110_interface_debug_print("mag3110: get rate over sample failed.\n");
321 (void)mag3110_deinit(&gs_handle);
322
323 return 1;
324 }
325 mag3110_interface_debug_print("mag3110: check rate over sample z %s.\n", (rate_over_sample == MAG3110_RATE_20HZ_OVER_SAMPLE_32) ? "ok" : "error");
326
327 /* set rate over sample */
329 if (res != 0)
330 {
331 mag3110_interface_debug_print("mag3110: set rate over sample failed.\n");
332 (void)mag3110_deinit(&gs_handle);
333
334 return 1;
335 }
336 mag3110_interface_debug_print("mag3110: set rate 10hz, 64 over sample.\n");
337 res = mag3110_get_rate_over_sample(&gs_handle, &rate_over_sample);
338 if (res != 0)
339 {
340 mag3110_interface_debug_print("mag3110: get rate over sample failed.\n");
341 (void)mag3110_deinit(&gs_handle);
342
343 return 1;
344 }
345 mag3110_interface_debug_print("mag3110: check rate over sample z %s.\n", (rate_over_sample == MAG3110_RATE_10HZ_OVER_SAMPLE_64) ? "ok" : "error");
346
347 /* set rate over sample */
349 if (res != 0)
350 {
351 mag3110_interface_debug_print("mag3110: set rate over sample failed.\n");
352 (void)mag3110_deinit(&gs_handle);
353
354 return 1;
355 }
356 mag3110_interface_debug_print("mag3110: set rate 5hz, 128 over sample.\n");
357 res = mag3110_get_rate_over_sample(&gs_handle, &rate_over_sample);
358 if (res != 0)
359 {
360 mag3110_interface_debug_print("mag3110: get rate over sample failed.\n");
361 (void)mag3110_deinit(&gs_handle);
362
363 return 1;
364 }
365 mag3110_interface_debug_print("mag3110: check rate over sample z %s.\n", (rate_over_sample == MAG3110_RATE_5HZ_OVER_SAMPLE_128) ? "ok" : "error");
366
367 /* set rate over sample */
369 if (res != 0)
370 {
371 mag3110_interface_debug_print("mag3110: set rate over sample failed.\n");
372 (void)mag3110_deinit(&gs_handle);
373
374 return 1;
375 }
376 mag3110_interface_debug_print("mag3110: set rate 20hz, 16 over sample.\n");
377 res = mag3110_get_rate_over_sample(&gs_handle, &rate_over_sample);
378 if (res != 0)
379 {
380 mag3110_interface_debug_print("mag3110: get rate over sample failed.\n");
381 (void)mag3110_deinit(&gs_handle);
382
383 return 1;
384 }
385 mag3110_interface_debug_print("mag3110: check rate over sample z %s.\n", (rate_over_sample == MAG3110_RATE_20HZ_OVER_SAMPLE_16) ? "ok" : "error");
386
387 /* set rate over sample */
389 if (res != 0)
390 {
391 mag3110_interface_debug_print("mag3110: set rate over sample failed.\n");
392 (void)mag3110_deinit(&gs_handle);
393
394 return 1;
395 }
396 mag3110_interface_debug_print("mag3110: set rate 10hz, 32 over sample.\n");
397 res = mag3110_get_rate_over_sample(&gs_handle, &rate_over_sample);
398 if (res != 0)
399 {
400 mag3110_interface_debug_print("mag3110: get rate over sample failed.\n");
401 (void)mag3110_deinit(&gs_handle);
402
403 return 1;
404 }
405 mag3110_interface_debug_print("mag3110: check rate over sample z %s.\n", (rate_over_sample == MAG3110_RATE_10HZ_OVER_SAMPLE_32) ? "ok" : "error");
406
407 /* set rate over sample */
409 if (res != 0)
410 {
411 mag3110_interface_debug_print("mag3110: set rate over sample failed.\n");
412 (void)mag3110_deinit(&gs_handle);
413
414 return 1;
415 }
416 mag3110_interface_debug_print("mag3110: set rate 5hz, 64 over sample.\n");
417 res = mag3110_get_rate_over_sample(&gs_handle, &rate_over_sample);
418 if (res != 0)
419 {
420 mag3110_interface_debug_print("mag3110: get rate over sample failed.\n");
421 (void)mag3110_deinit(&gs_handle);
422
423 return 1;
424 }
425 mag3110_interface_debug_print("mag3110: check rate over sample z %s.\n", (rate_over_sample == MAG3110_RATE_5HZ_OVER_SAMPLE_64) ? "ok" : "error");
426
427 /* set rate over sample */
429 if (res != 0)
430 {
431 mag3110_interface_debug_print("mag3110: set rate over sample failed.\n");
432 (void)mag3110_deinit(&gs_handle);
433
434 return 1;
435 }
436 mag3110_interface_debug_print("mag3110: set rate 2.5hz, 128 over sample.\n");
437 res = mag3110_get_rate_over_sample(&gs_handle, &rate_over_sample);
438 if (res != 0)
439 {
440 mag3110_interface_debug_print("mag3110: get rate over sample failed.\n");
441 (void)mag3110_deinit(&gs_handle);
442
443 return 1;
444 }
445 mag3110_interface_debug_print("mag3110: check rate over sample z %s.\n", (rate_over_sample == MAG3110_RATE_2P5HZ_OVER_SAMPLE_128) ? "ok" : "error");
446
447 /* set rate over sample */
449 if (res != 0)
450 {
451 mag3110_interface_debug_print("mag3110: set rate over sample failed.\n");
452 (void)mag3110_deinit(&gs_handle);
453
454 return 1;
455 }
456 mag3110_interface_debug_print("mag3110: set rate 10hz, 16 over sample.\n");
457 res = mag3110_get_rate_over_sample(&gs_handle, &rate_over_sample);
458 if (res != 0)
459 {
460 mag3110_interface_debug_print("mag3110: get rate over sample failed.\n");
461 (void)mag3110_deinit(&gs_handle);
462
463 return 1;
464 }
465 mag3110_interface_debug_print("mag3110: check rate over sample z %s.\n", (rate_over_sample == MAG3110_RATE_10HZ_OVER_SAMPLE_16) ? "ok" : "error");
466
467 /* set rate over sample */
469 if (res != 0)
470 {
471 mag3110_interface_debug_print("mag3110: set rate over sample failed.\n");
472 (void)mag3110_deinit(&gs_handle);
473
474 return 1;
475 }
476 mag3110_interface_debug_print("mag3110: set rate 5hz, 32 over sample.\n");
477 res = mag3110_get_rate_over_sample(&gs_handle, &rate_over_sample);
478 if (res != 0)
479 {
480 mag3110_interface_debug_print("mag3110: get rate over sample failed.\n");
481 (void)mag3110_deinit(&gs_handle);
482
483 return 1;
484 }
485 mag3110_interface_debug_print("mag3110: check rate over sample z %s.\n", (rate_over_sample == MAG3110_RATE_5HZ_OVER_SAMPLE_32) ? "ok" : "error");
486
487 /* set rate over sample */
489 if (res != 0)
490 {
491 mag3110_interface_debug_print("mag3110: set rate over sample failed.\n");
492 (void)mag3110_deinit(&gs_handle);
493
494 return 1;
495 }
496 mag3110_interface_debug_print("mag3110: set rate 2.5hz, 64 over sample.\n");
497 res = mag3110_get_rate_over_sample(&gs_handle, &rate_over_sample);
498 if (res != 0)
499 {
500 mag3110_interface_debug_print("mag3110: get rate over sample failed.\n");
501 (void)mag3110_deinit(&gs_handle);
502
503 return 1;
504 }
505 mag3110_interface_debug_print("mag3110: check rate over sample z %s.\n", (rate_over_sample == MAG3110_RATE_2P5HZ_OVER_SAMPLE_64) ? "ok" : "error");
506
507 /* set rate over sample */
509 if (res != 0)
510 {
511 mag3110_interface_debug_print("mag3110: set rate over sample failed.\n");
512 (void)mag3110_deinit(&gs_handle);
513
514 return 1;
515 }
516 mag3110_interface_debug_print("mag3110: set rate 1.25hz, 128 over sample.\n");
517 res = mag3110_get_rate_over_sample(&gs_handle, &rate_over_sample);
518 if (res != 0)
519 {
520 mag3110_interface_debug_print("mag3110: get rate over sample failed.\n");
521 (void)mag3110_deinit(&gs_handle);
522
523 return 1;
524 }
525 mag3110_interface_debug_print("mag3110: check rate over sample z %s.\n", (rate_over_sample == MAG3110_RATE_1P25HZ_OVER_SAMPLE_128) ? "ok" : "error");
526
527 /* set rate over sample */
529 if (res != 0)
530 {
531 mag3110_interface_debug_print("mag3110: set rate over sample failed.\n");
532 (void)mag3110_deinit(&gs_handle);
533
534 return 1;
535 }
536 mag3110_interface_debug_print("mag3110: set rate 5hz, 16 over sample.\n");
537 res = mag3110_get_rate_over_sample(&gs_handle, &rate_over_sample);
538 if (res != 0)
539 {
540 mag3110_interface_debug_print("mag3110: get rate over sample failed.\n");
541 (void)mag3110_deinit(&gs_handle);
542
543 return 1;
544 }
545 mag3110_interface_debug_print("mag3110: check rate over sample z %s.\n", (rate_over_sample == MAG3110_RATE_5HZ_OVER_SAMPLE_16) ? "ok" : "error");
546
547 /* set rate over sample */
549 if (res != 0)
550 {
551 mag3110_interface_debug_print("mag3110: set rate over sample failed.\n");
552 (void)mag3110_deinit(&gs_handle);
553
554 return 1;
555 }
556 mag3110_interface_debug_print("mag3110: set rate 2.5hz, 32 over sample.\n");
557 res = mag3110_get_rate_over_sample(&gs_handle, &rate_over_sample);
558 if (res != 0)
559 {
560 mag3110_interface_debug_print("mag3110: get rate over sample failed.\n");
561 (void)mag3110_deinit(&gs_handle);
562
563 return 1;
564 }
565 mag3110_interface_debug_print("mag3110: check rate over sample z %s.\n", (rate_over_sample == MAG3110_RATE_2P5HZ_OVER_SAMPLE_32) ? "ok" : "error");
566
567 /* set rate over sample */
569 if (res != 0)
570 {
571 mag3110_interface_debug_print("mag3110: set rate over sample failed.\n");
572 (void)mag3110_deinit(&gs_handle);
573
574 return 1;
575 }
576 mag3110_interface_debug_print("mag3110: set rate 1.25hz, 64 over sample.\n");
577 res = mag3110_get_rate_over_sample(&gs_handle, &rate_over_sample);
578 if (res != 0)
579 {
580 mag3110_interface_debug_print("mag3110: get rate over sample failed.\n");
581 (void)mag3110_deinit(&gs_handle);
582
583 return 1;
584 }
585 mag3110_interface_debug_print("mag3110: check rate over sample z %s.\n", (rate_over_sample == MAG3110_RATE_1P25HZ_OVER_SAMPLE_64) ? "ok" : "error");
586
587 /* set rate over sample */
589 if (res != 0)
590 {
591 mag3110_interface_debug_print("mag3110: set rate over sample failed.\n");
592 (void)mag3110_deinit(&gs_handle);
593
594 return 1;
595 }
596 mag3110_interface_debug_print("mag3110: set rate 0.63hz, 128 over sample.\n");
597 res = mag3110_get_rate_over_sample(&gs_handle, &rate_over_sample);
598 if (res != 0)
599 {
600 mag3110_interface_debug_print("mag3110: get rate over sample failed.\n");
601 (void)mag3110_deinit(&gs_handle);
602
603 return 1;
604 }
605 mag3110_interface_debug_print("mag3110: check rate over sample z %s.\n", (rate_over_sample == MAG3110_RATE_0P63HZ_OVER_SAMPLE_128) ? "ok" : "error");
606
607 /* set rate over sample */
609 if (res != 0)
610 {
611 mag3110_interface_debug_print("mag3110: set rate over sample failed.\n");
612 (void)mag3110_deinit(&gs_handle);
613
614 return 1;
615 }
616 mag3110_interface_debug_print("mag3110: set rate 2.5hz, 16 over sample.\n");
617 res = mag3110_get_rate_over_sample(&gs_handle, &rate_over_sample);
618 if (res != 0)
619 {
620 mag3110_interface_debug_print("mag3110: get rate over sample failed.\n");
621 (void)mag3110_deinit(&gs_handle);
622
623 return 1;
624 }
625 mag3110_interface_debug_print("mag3110: check rate over sample z %s.\n", (rate_over_sample == MAG3110_RATE_2P5HZ_OVER_SAMPLE_16) ? "ok" : "error");
626
627 /* set rate over sample */
629 if (res != 0)
630 {
631 mag3110_interface_debug_print("mag3110: set rate over sample failed.\n");
632 (void)mag3110_deinit(&gs_handle);
633
634 return 1;
635 }
636 mag3110_interface_debug_print("mag3110: set rate 1.25hz, 32 over sample.\n");
637 res = mag3110_get_rate_over_sample(&gs_handle, &rate_over_sample);
638 if (res != 0)
639 {
640 mag3110_interface_debug_print("mag3110: get rate over sample failed.\n");
641 (void)mag3110_deinit(&gs_handle);
642
643 return 1;
644 }
645 mag3110_interface_debug_print("mag3110: check rate over sample z %s.\n", (rate_over_sample == MAG3110_RATE_1P25HZ_OVER_SAMPLE_32) ? "ok" : "error");
646
647 /* set rate over sample */
649 if (res != 0)
650 {
651 mag3110_interface_debug_print("mag3110: set rate over sample failed.\n");
652 (void)mag3110_deinit(&gs_handle);
653
654 return 1;
655 }
656 mag3110_interface_debug_print("mag3110: set rate 0.63hz, 64 over sample.\n");
657 res = mag3110_get_rate_over_sample(&gs_handle, &rate_over_sample);
658 if (res != 0)
659 {
660 mag3110_interface_debug_print("mag3110: get rate over sample failed.\n");
661 (void)mag3110_deinit(&gs_handle);
662
663 return 1;
664 }
665 mag3110_interface_debug_print("mag3110: check rate over sample z %s.\n", (rate_over_sample == MAG3110_RATE_0P63HZ_OVER_SAMPLE_64) ? "ok" : "error");
666
667 /* set rate over sample */
669 if (res != 0)
670 {
671 mag3110_interface_debug_print("mag3110: set rate over sample failed.\n");
672 (void)mag3110_deinit(&gs_handle);
673
674 return 1;
675 }
676 mag3110_interface_debug_print("mag3110: set rate 0.31hz, 128 over sample.\n");
677 res = mag3110_get_rate_over_sample(&gs_handle, &rate_over_sample);
678 if (res != 0)
679 {
680 mag3110_interface_debug_print("mag3110: get rate over sample failed.\n");
681 (void)mag3110_deinit(&gs_handle);
682
683 return 1;
684 }
685 mag3110_interface_debug_print("mag3110: check rate over sample z %s.\n", (rate_over_sample == MAG3110_RATE_0P31HZ_OVER_SAMPLE_128) ? "ok" : "error");
686
687 /* set rate over sample */
689 if (res != 0)
690 {
691 mag3110_interface_debug_print("mag3110: set rate over sample failed.\n");
692 (void)mag3110_deinit(&gs_handle);
693
694 return 1;
695 }
696 mag3110_interface_debug_print("mag3110: set rate 1.25hz, 16 over sample.\n");
697 res = mag3110_get_rate_over_sample(&gs_handle, &rate_over_sample);
698 if (res != 0)
699 {
700 mag3110_interface_debug_print("mag3110: get rate over sample failed.\n");
701 (void)mag3110_deinit(&gs_handle);
702
703 return 1;
704 }
705 mag3110_interface_debug_print("mag3110: check rate over sample z %s.\n", (rate_over_sample == MAG3110_RATE_1P25HZ_OVER_SAMPLE_16) ? "ok" : "error");
706
707 /* set rate over sample */
709 if (res != 0)
710 {
711 mag3110_interface_debug_print("mag3110: set rate over sample failed.\n");
712 (void)mag3110_deinit(&gs_handle);
713
714 return 1;
715 }
716 mag3110_interface_debug_print("mag3110: set rate 0.63hz, 32 over sample.\n");
717 res = mag3110_get_rate_over_sample(&gs_handle, &rate_over_sample);
718 if (res != 0)
719 {
720 mag3110_interface_debug_print("mag3110: get rate over sample failed.\n");
721 (void)mag3110_deinit(&gs_handle);
722
723 return 1;
724 }
725 mag3110_interface_debug_print("mag3110: check rate over sample z %s.\n", (rate_over_sample == MAG3110_RATE_0P63HZ_OVER_SAMPLE_32) ? "ok" : "error");
726
727 /* set rate over sample */
729 if (res != 0)
730 {
731 mag3110_interface_debug_print("mag3110: set rate over sample failed.\n");
732 (void)mag3110_deinit(&gs_handle);
733
734 return 1;
735 }
736 mag3110_interface_debug_print("mag3110: set rate 0.31hz, 64 over sample.\n");
737 res = mag3110_get_rate_over_sample(&gs_handle, &rate_over_sample);
738 if (res != 0)
739 {
740 mag3110_interface_debug_print("mag3110: get rate over sample failed.\n");
741 (void)mag3110_deinit(&gs_handle);
742
743 return 1;
744 }
745 mag3110_interface_debug_print("mag3110: check rate over sample z %s.\n", (rate_over_sample == MAG3110_RATE_0P31HZ_OVER_SAMPLE_64) ? "ok" : "error");
746
747 /* set rate over sample */
749 if (res != 0)
750 {
751 mag3110_interface_debug_print("mag3110: set rate over sample failed.\n");
752 (void)mag3110_deinit(&gs_handle);
753
754 return 1;
755 }
756 mag3110_interface_debug_print("mag3110: set rate 0.16hz, 128 over sample.\n");
757 res = mag3110_get_rate_over_sample(&gs_handle, &rate_over_sample);
758 if (res != 0)
759 {
760 mag3110_interface_debug_print("mag3110: get rate over sample failed.\n");
761 (void)mag3110_deinit(&gs_handle);
762
763 return 1;
764 }
765 mag3110_interface_debug_print("mag3110: check rate over sample z %s.\n", (rate_over_sample == MAG3110_RATE_0P16HZ_OVER_SAMPLE_128) ? "ok" : "error");
766
767 /* set rate over sample */
769 if (res != 0)
770 {
771 mag3110_interface_debug_print("mag3110: set rate over sample failed.\n");
772 (void)mag3110_deinit(&gs_handle);
773
774 return 1;
775 }
776 mag3110_interface_debug_print("mag3110: set rate 0.63hz, 16 over sample.\n");
777 res = mag3110_get_rate_over_sample(&gs_handle, &rate_over_sample);
778 if (res != 0)
779 {
780 mag3110_interface_debug_print("mag3110: get rate over sample failed.\n");
781 (void)mag3110_deinit(&gs_handle);
782
783 return 1;
784 }
785 mag3110_interface_debug_print("mag3110: check rate over sample z %s.\n", (rate_over_sample == MAG3110_RATE_0P63HZ_OVER_SAMPLE_16) ? "ok" : "error");
786
787 /* set rate over sample */
789 if (res != 0)
790 {
791 mag3110_interface_debug_print("mag3110: set rate over sample failed.\n");
792 (void)mag3110_deinit(&gs_handle);
793
794 return 1;
795 }
796 mag3110_interface_debug_print("mag3110: set rate 0.31hz, 32 over sample.\n");
797 res = mag3110_get_rate_over_sample(&gs_handle, &rate_over_sample);
798 if (res != 0)
799 {
800 mag3110_interface_debug_print("mag3110: get rate over sample failed.\n");
801 (void)mag3110_deinit(&gs_handle);
802
803 return 1;
804 }
805 mag3110_interface_debug_print("mag3110: check rate over sample z %s.\n", (rate_over_sample == MAG3110_RATE_0P31HZ_OVER_SAMPLE_32) ? "ok" : "error");
806
807 /* set rate over sample */
809 if (res != 0)
810 {
811 mag3110_interface_debug_print("mag3110: set rate over sample failed.\n");
812 (void)mag3110_deinit(&gs_handle);
813
814 return 1;
815 }
816 mag3110_interface_debug_print("mag3110: set rate 0.16hz, 64 over sample.\n");
817 res = mag3110_get_rate_over_sample(&gs_handle, &rate_over_sample);
818 if (res != 0)
819 {
820 mag3110_interface_debug_print("mag3110: get rate over sample failed.\n");
821 (void)mag3110_deinit(&gs_handle);
822
823 return 1;
824 }
825 mag3110_interface_debug_print("mag3110: check rate over sample z %s.\n", (rate_over_sample == MAG3110_RATE_0P16HZ_OVER_SAMPLE_64) ? "ok" : "error");
826
827 /* set rate over sample */
829 if (res != 0)
830 {
831 mag3110_interface_debug_print("mag3110: set rate over sample failed.\n");
832 (void)mag3110_deinit(&gs_handle);
833
834 return 1;
835 }
836 mag3110_interface_debug_print("mag3110: set rate 0.08hz, 128 over sample.\n");
837 res = mag3110_get_rate_over_sample(&gs_handle, &rate_over_sample);
838 if (res != 0)
839 {
840 mag3110_interface_debug_print("mag3110: get rate over sample failed.\n");
841 (void)mag3110_deinit(&gs_handle);
842
843 return 1;
844 }
845 mag3110_interface_debug_print("mag3110: check rate over sample z %s.\n", (rate_over_sample == MAG3110_RATE_0P08HZ_OVER_SAMPLE_128) ? "ok" : "error");
846
847 /* mag3110_set_fast_read_mode/mag3110_get_fast_read_mode test */
848 mag3110_interface_debug_print("mag3110: mag3110_set_fast_read_mode/mag3110_get_fast_read_mode test.\n");
849
850 /* enable fast read mode */
852 if (res != 0)
853 {
854 mag3110_interface_debug_print("mag3110: set fast read mode failed.\n");
855 (void)mag3110_deinit(&gs_handle);
856
857 return 1;
858 }
859 mag3110_interface_debug_print("mag3110: enable fast read mode.\n");
860 res = mag3110_get_fast_read_mode(&gs_handle, &enable);
861 if (res != 0)
862 {
863 mag3110_interface_debug_print("mag3110: get fast read mode failed.\n");
864 (void)mag3110_deinit(&gs_handle);
865
866 return 1;
867 }
868 mag3110_interface_debug_print("mag3110: check mode %s.\n", (enable == MAG3110_BOOL_TRUE) ? "ok" : "error");
869
870 /* disable fast read mode */
872 if (res != 0)
873 {
874 mag3110_interface_debug_print("mag3110: set fast read mode failed.\n");
875 (void)mag3110_deinit(&gs_handle);
876
877 return 1;
878 }
879 mag3110_interface_debug_print("mag3110: disable fast read mode.\n");
880 res = mag3110_get_fast_read_mode(&gs_handle, &enable);
881 if (res != 0)
882 {
883 mag3110_interface_debug_print("mag3110: get fast read mode failed.\n");
884 (void)mag3110_deinit(&gs_handle);
885
886 return 1;
887 }
888 mag3110_interface_debug_print("mag3110: check mode %s.\n", (enable == MAG3110_BOOL_FALSE) ? "ok" : "error");
889
890 /* mag3110_set_trigger_mode/mag3110_get_trigger_mode test */
891 mag3110_interface_debug_print("mag3110: mag3110_set_trigger_mode/mag3110_get_trigger_mode test.\n");
892
893 /* enable trigger mode */
895 if (res != 0)
896 {
897 mag3110_interface_debug_print("mag3110: set trigger mode failed.\n");
898 (void)mag3110_deinit(&gs_handle);
899
900 return 1;
901 }
902 mag3110_interface_debug_print("mag3110: enable trigger mode.\n");
903 res = mag3110_get_trigger_mode(&gs_handle, &enable);
904 if (res != 0)
905 {
906 mag3110_interface_debug_print("mag3110: get trigger mode failed.\n");
907 (void)mag3110_deinit(&gs_handle);
908
909 return 1;
910 }
911 mag3110_interface_debug_print("mag3110: check trigger mode %s.\n", (enable == MAG3110_BOOL_TRUE) ? "ok" : "error");
912
913 /* disable trigger mode */
915 if (res != 0)
916 {
917 mag3110_interface_debug_print("mag3110: set trigger mode failed.\n");
918 (void)mag3110_deinit(&gs_handle);
919
920 return 1;
921 }
922 mag3110_interface_debug_print("mag3110: disable trigger mode.\n");
923 res = mag3110_get_trigger_mode(&gs_handle, &enable);
924 if (res != 0)
925 {
926 mag3110_interface_debug_print("mag3110: get trigger mode failed.\n");
927 (void)mag3110_deinit(&gs_handle);
928
929 return 1;
930 }
931 mag3110_interface_debug_print("mag3110: check trigger mode %s.\n", (enable == MAG3110_BOOL_FALSE) ? "ok" : "error");
932
933 /* mag3110_set_mode/mag3110_get_mode test */
934 mag3110_interface_debug_print("mag3110: mag3110_set_mode/mag3110_get_mode test.\n");
935
936 /* set active mode */
937 res = mag3110_set_mode(&gs_handle, MAG3110_MODE_ACTIVE);
938 if (res != 0)
939 {
940 mag3110_interface_debug_print("mag3110: set mode failed.\n");
941 (void)mag3110_deinit(&gs_handle);
942
943 return 1;
944 }
945 mag3110_interface_debug_print("mag3110: set active mode.\n");
946 res = mag3110_get_mode(&gs_handle, &mode);
947 if (res != 0)
948 {
949 mag3110_interface_debug_print("mag3110: get mode failed.\n");
950 (void)mag3110_deinit(&gs_handle);
951
952 return 1;
953 }
954 mag3110_interface_debug_print("mag3110: check mode %s.\n", (mode == MAG3110_MODE_ACTIVE) ? "ok" : "error");
955
956 /* set standby mode */
957 res = mag3110_set_mode(&gs_handle, MAG3110_MODE_STANDBY);
958 if (res != 0)
959 {
960 mag3110_interface_debug_print("mag3110: set mode failed.\n");
961 (void)mag3110_deinit(&gs_handle);
962
963 return 1;
964 }
965 mag3110_interface_debug_print("mag3110: set standby mode.\n");
966 res = mag3110_get_mode(&gs_handle, &mode);
967 if (res != 0)
968 {
969 mag3110_interface_debug_print("mag3110: get mode failed.\n");
970 (void)mag3110_deinit(&gs_handle);
971
972 return 1;
973 }
974 mag3110_interface_debug_print("mag3110: check mode %s.\n", (mode == MAG3110_MODE_STANDBY) ? "ok" : "error");
975
976 /* mag3110_set_automatic_magnetic_sensor_reset test */
977 mag3110_interface_debug_print("mag3110: mag3110_set_automatic_magnetic_sensor_reset test.\n");
978
979 /* enable automatic magnetic sensor reset */
981 if (res != 0)
982 {
983 mag3110_interface_debug_print("mag3110: set automatic magnetic sensor reset failed.\n");
984 (void)mag3110_deinit(&gs_handle);
985
986 return 1;
987 }
988 mag3110_interface_debug_print("mag3110: enable automatic magnetic sensor reset.\n");
989 mag3110_interface_debug_print("mag3110: check reset %s.\n", (res == 0) ? "ok" : "error");
990
991 /* disable automatic magnetic sensor reset */
993 if (res != 0)
994 {
995 mag3110_interface_debug_print("mag3110: set automatic magnetic sensor reset failed.\n");
996 (void)mag3110_deinit(&gs_handle);
997
998 return 1;
999 }
1000 mag3110_interface_debug_print("mag3110: disable automatic magnetic sensor reset.\n");
1001 mag3110_interface_debug_print("mag3110: check reset %s.\n", (res == 0) ? "ok" : "error");
1002
1003 /* mag3110_set_disable_offset_correction/mag3110_get_disable_offset_correction test */
1004 mag3110_interface_debug_print("mag3110: mag3110_set_disable_offset_correction/mag3110_get_disable_offset_correction test.\n");
1005
1006 /* enable disable offset correction */
1008 if (res != 0)
1009 {
1010 mag3110_interface_debug_print("mag3110: set disable offset correction failed.\n");
1011 (void)mag3110_deinit(&gs_handle);
1012
1013 return 1;
1014 }
1015 mag3110_interface_debug_print("mag3110: disable offset correction.\n");
1016 res = mag3110_get_disable_offset_correction(&gs_handle, &enable);
1017 if (res != 0)
1018 {
1019 mag3110_interface_debug_print("mag3110: get disable offset correction failed.\n");
1020 (void)mag3110_deinit(&gs_handle);
1021
1022 return 1;
1023 }
1024 mag3110_interface_debug_print("mag3110: check disable offset correction %s.\n", (enable == MAG3110_BOOL_TRUE) ? "ok" : "error");
1025
1026 /* disable disable offset correction */
1028 if (res != 0)
1029 {
1030 mag3110_interface_debug_print("mag3110: set disable offset correction failed.\n");
1031 (void)mag3110_deinit(&gs_handle);
1032
1033 return 1;
1034 }
1035 mag3110_interface_debug_print("mag3110: enable offset correction.\n");
1036 res = mag3110_get_disable_offset_correction(&gs_handle, &enable);
1037 if (res != 0)
1038 {
1039 mag3110_interface_debug_print("mag3110: get disable offset correction failed.\n");
1040 (void)mag3110_deinit(&gs_handle);
1041
1042 return 1;
1043 }
1044 mag3110_interface_debug_print("mag3110: check disable offset correction %s.\n", (enable == MAG3110_BOOL_FALSE) ? "ok" : "error");
1045
1046 /* mag3110_offset_convert_to_register/mag3110_offset_convert_to_data test */
1047 mag3110_interface_debug_print("mag3110: mag3110_offset_convert_to_register/mag3110_offset_convert_to_data test.\n");
1048
1049 ut = (float)(rand() % 1000);
1050 res = mag3110_offset_convert_to_register(&gs_handle, ut, &reg);
1051 if (res != 0)
1052 {
1053 mag3110_interface_debug_print("mag3110: offset convert to register failed.\n");
1054 (void)mag3110_deinit(&gs_handle);
1055
1056 return 1;
1057 }
1058 mag3110_interface_debug_print("mag3110: set ut %0.1f.\n", ut);
1059 res = mag3110_offset_convert_to_data(&gs_handle, reg, &ut_check);
1060 if (res != 0)
1061 {
1062 mag3110_interface_debug_print("mag3110: offset convert to data failed.\n");
1063 (void)mag3110_deinit(&gs_handle);
1064
1065 return 1;
1066 }
1067 mag3110_interface_debug_print("mag3110: check ut %0.1f.\n", ut_check);
1068
1069 ut = -(float)(rand() % 1000);
1070 res = mag3110_offset_convert_to_register(&gs_handle, ut, &reg);
1071 if (res != 0)
1072 {
1073 mag3110_interface_debug_print("mag3110: offset convert to register failed.\n");
1074 (void)mag3110_deinit(&gs_handle);
1075
1076 return 1;
1077 }
1078 mag3110_interface_debug_print("mag3110: set ut %0.1f.\n", ut);
1079 res = mag3110_offset_convert_to_data(&gs_handle, reg, &ut_check);
1080 if (res != 0)
1081 {
1082 mag3110_interface_debug_print("mag3110: offset convert to data failed.\n");
1083 (void)mag3110_deinit(&gs_handle);
1084
1085 return 1;
1086 }
1087 mag3110_interface_debug_print("mag3110: check ut %0.1f.\n", ut_check);
1088
1089 /* mag3110_reset test */
1090 mag3110_interface_debug_print("mag3110: mag3110_reset test.\n");
1091
1092 /* reset */
1093 res = mag3110_reset(&gs_handle);
1094 if (res != 0)
1095 {
1096 mag3110_interface_debug_print("mag3110: reset failed.\n");
1097 (void)mag3110_deinit(&gs_handle);
1098
1099 return 1;
1100 }
1101 mag3110_interface_debug_print("mag3110: check reset %s.\n", (res == 0) ? "ok" : "error");
1102
1103 /* finish register test */
1104 mag3110_interface_debug_print("mag3110: finish register test.\n");
1105 (void)mag3110_deinit(&gs_handle);
1106
1107 return 0;
1108}
driver mag3110 register test header file
uint8_t mag3110_set_rate_over_sample(mag3110_handle_t *handle, mag3110_rate_over_sample_t rate_over_sample)
set rate over sample
uint8_t mag3110_info(mag3110_info_t *info)
get chip's information
uint8_t mag3110_get_data_ready_status(mag3110_handle_t *handle, uint8_t *status)
get data ready status
uint8_t mag3110_set_trigger_mode(mag3110_handle_t *handle, mag3110_bool_t enable)
enable or disable trigger mode
uint8_t mag3110_get_offset_z(mag3110_handle_t *handle, uint16_t *offset)
get offset z
struct mag3110_handle_s mag3110_handle_t
mag3110 handle structure definition
uint8_t mag3110_get_trigger_mode(mag3110_handle_t *handle, mag3110_bool_t *enable)
get trigger mode status
uint8_t mag3110_set_mode(mag3110_handle_t *handle, mag3110_mode_t mode)
set mode
uint8_t mag3110_get_fast_read_mode(mag3110_handle_t *handle, mag3110_bool_t *enable)
get fast read mode status
uint8_t mag3110_set_disable_offset_correction(mag3110_handle_t *handle, mag3110_bool_t enable)
enable or disable offset correction
mag3110_bool_t
mag3110 bool enumeration definition
uint8_t mag3110_deinit(mag3110_handle_t *handle)
close the chip
uint8_t mag3110_init(mag3110_handle_t *handle)
initialize the chip
uint8_t mag3110_set_offset_y(mag3110_handle_t *handle, uint16_t offset)
set offset y
uint8_t mag3110_set_offset_x(mag3110_handle_t *handle, uint16_t offset)
set offset x
struct mag3110_info_s mag3110_info_t
mag3110 information structure definition
uint8_t mag3110_get_offset_y(mag3110_handle_t *handle, uint16_t *offset)
get offset y
uint8_t mag3110_get_rate_over_sample(mag3110_handle_t *handle, mag3110_rate_over_sample_t *rate_over_sample)
get rate over sample
uint8_t mag3110_get_offset_x(mag3110_handle_t *handle, uint16_t *offset)
get offset x
uint8_t mag3110_get_mode_status(mag3110_handle_t *handle, mag3110_mode_status_t *mode)
get mode status
mag3110_rate_over_sample_t
mag3110 rate over sample enumeration definition
uint8_t mag3110_set_automatic_magnetic_sensor_reset(mag3110_handle_t *handle, mag3110_bool_t enable)
enable or disable automatic magnetic sensor reset
uint8_t mag3110_set_fast_read_mode(mag3110_handle_t *handle, mag3110_bool_t enable)
enable or disable fast read mode
uint8_t mag3110_offset_convert_to_register(mag3110_handle_t *handle, float ut, uint16_t *reg)
convert the offset to the register raw data
uint8_t mag3110_offset_convert_to_data(mag3110_handle_t *handle, uint16_t reg, float *ut)
convert the register raw data to the offset threshold
uint8_t mag3110_get_mode(mag3110_handle_t *handle, mag3110_mode_t *mode)
get mode
uint8_t mag3110_reset(mag3110_handle_t *handle)
reset
uint8_t mag3110_get_disable_offset_correction(mag3110_handle_t *handle, mag3110_bool_t *enable)
get offset correction status
uint8_t mag3110_set_offset_z(mag3110_handle_t *handle, uint16_t offset)
set offset z
mag3110_mode_status_t
mag3110 mode status enumeration definition
mag3110_mode_t
mag3110 mode enumeration definition
@ MAG3110_BOOL_TRUE
@ MAG3110_BOOL_FALSE
@ MAG3110_RATE_5HZ_OVER_SAMPLE_16
@ MAG3110_RATE_2P5HZ_OVER_SAMPLE_32
@ MAG3110_RATE_2P5HZ_OVER_SAMPLE_16
@ MAG3110_RATE_10HZ_OVER_SAMPLE_64
@ MAG3110_RATE_20HZ_OVER_SAMPLE_32
@ MAG3110_RATE_1P25HZ_OVER_SAMPLE_16
@ MAG3110_RATE_0P08HZ_OVER_SAMPLE_128
@ MAG3110_RATE_1P25HZ_OVER_SAMPLE_64
@ MAG3110_RATE_0P63HZ_OVER_SAMPLE_128
@ MAG3110_RATE_0P31HZ_OVER_SAMPLE_32
@ MAG3110_RATE_10HZ_OVER_SAMPLE_16
@ MAG3110_RATE_0P16HZ_OVER_SAMPLE_64
@ MAG3110_RATE_2P5HZ_OVER_SAMPLE_128
@ MAG3110_RATE_10HZ_OVER_SAMPLE_32
@ MAG3110_RATE_0P63HZ_OVER_SAMPLE_64
@ MAG3110_RATE_1P25HZ_OVER_SAMPLE_32
@ MAG3110_RATE_20HZ_OVER_SAMPLE_64
@ MAG3110_RATE_2P5HZ_OVER_SAMPLE_64
@ MAG3110_RATE_1P25HZ_OVER_SAMPLE_128
@ MAG3110_RATE_0P31HZ_OVER_SAMPLE_128
@ MAG3110_RATE_20HZ_OVER_SAMPLE_16
@ MAG3110_RATE_0P63HZ_OVER_SAMPLE_32
@ MAG3110_RATE_0P63HZ_OVER_SAMPLE_16
@ MAG3110_RATE_5HZ_OVER_SAMPLE_128
@ MAG3110_RATE_5HZ_OVER_SAMPLE_32
@ MAG3110_RATE_40HZ_OVER_SAMPLE_32
@ MAG3110_RATE_10HZ_OVER_SAMPLE_128
@ MAG3110_RATE_5HZ_OVER_SAMPLE_64
@ MAG3110_RATE_40HZ_OVER_SAMPLE_16
@ MAG3110_RATE_0P16HZ_OVER_SAMPLE_128
@ MAG3110_RATE_0P31HZ_OVER_SAMPLE_64
@ MAG3110_RATE_80HZ_OVER_SAMPLE_16
@ MAG3110_MODE_ACTIVE
@ MAG3110_MODE_STANDBY
uint8_t mag3110_interface_iic_deinit(void)
interface iic bus deinit
void mag3110_interface_delay_ms(uint32_t ms)
interface delay ms
uint8_t mag3110_interface_iic_read(uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len)
interface iic bus read
uint8_t mag3110_interface_iic_write(uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len)
interface iic bus write
uint8_t mag3110_interface_iic_init(void)
interface iic bus init
void mag3110_interface_debug_print(const char *const fmt,...)
interface print format data
uint8_t mag3110_register_test(void)
register test
uint32_t driver_version
char manufacturer_name[32]