LibDriver PMW3901MB
Loading...
Searching...
No Matches
driver_pmw3901mb_frame.c
Go to the documentation of this file.
1
36
38
39static pmw3901mb_handle_t gs_handle;
40
49{
50 uint8_t res;
51
52 /* link interface function */
63
64 /* init pmw3901mb */
65 res = pmw3901mb_init(&gs_handle);
66 if (res != 0)
67 {
68 pmw3901mb_interface_debug_print("pmw3901mb: init failed.\n");
69
70 return 1;
71 }
72
73 /* chip power up */
74 res = pmw3901mb_power_up(&gs_handle);
75 if (res != 0)
76 {
77 pmw3901mb_interface_debug_print("pmw3901mb: power up failed.\n");
78 (void)pmw3901mb_deinit(&gs_handle);
79
80 return 1;
81 }
82
83 /* start frame capture */
84 res = pmw3901mb_start_frame_capture(&gs_handle);
85 if (res != 0)
86 {
87 pmw3901mb_interface_debug_print("pmw3901mb: start frame capture failed.\n");
88 (void)pmw3901mb_deinit(&gs_handle);
89
90 return 1;
91 }
92
93 return 0;
94}
95
104uint8_t pmw3901mb_frame_read(uint8_t frame[35][35])
105{
106 if (pmw3901mb_get_frame(&gs_handle, frame) != 0)
107 {
108 return 1;
109 }
110 else
111 {
112 return 0;
113 }
114}
115
124{
125 /* stop frame capture */
126 if (pmw3901mb_stop_frame_capture(&gs_handle) != 0)
127 {
128 return 1;
129 }
130
131 /* deinit */
132 if (pmw3901mb_deinit(&gs_handle) != 0)
133 {
134 return 1;
135 }
136 else
137 {
138 return 0;
139 }
140}
driver pmw3901mb frame header file
uint8_t pmw3901mb_init(pmw3901mb_handle_t *handle)
initialize the chip
uint8_t pmw3901mb_stop_frame_capture(pmw3901mb_handle_t *handle)
stop frame capture
struct pmw3901mb_handle_s pmw3901mb_handle_t
pmw3901mb handle structure definition
uint8_t pmw3901mb_get_frame(pmw3901mb_handle_t *handle, uint8_t frame[35][35])
get the frame
uint8_t pmw3901mb_power_up(pmw3901mb_handle_t *handle)
power up the chip
uint8_t pmw3901mb_deinit(pmw3901mb_handle_t *handle)
close the chip
uint8_t pmw3901mb_start_frame_capture(pmw3901mb_handle_t *handle)
start frame capture
uint8_t pmw3901mb_frame_read(uint8_t frame[35][35])
frame example read
uint8_t pmw3901mb_frame_deinit(void)
frame example deinit
uint8_t pmw3901mb_frame_init(void)
frame example init
void pmw3901mb_interface_debug_print(const char *const fmt,...)
interface print format data
uint8_t pmw3901mb_interface_spi_write(uint8_t reg, uint8_t *buf, uint16_t len)
interface spi bus write
uint8_t pmw3901mb_interface_spi_deinit(void)
interface spi bus deinit
uint8_t pmw3901mb_interface_reset_gpio_write(uint8_t data)
interface reset gpio write
uint8_t pmw3901mb_interface_spi_read(uint8_t reg, uint8_t *buf, uint16_t len)
interface spi bus read
uint8_t pmw3901mb_interface_spi_init(void)
interface spi bus init
uint8_t pmw3901mb_interface_reset_gpio_deinit(void)
interface reset gpio deinit
void pmw3901mb_interface_delay_ms(uint32_t ms)
interface delay ms
uint8_t pmw3901mb_interface_reset_gpio_init(void)
interface reset gpio init