37#ifndef DRIVER_MULTI_BUTTON_H
38#define DRIVER_MULTI_BUTTON_H
62#ifndef MULTI_BUTTON_NUMBER
63 #define MULTI_BUTTON_NUMBER 128
69#ifndef MULTI_BUTTON_EACH_LENGTH
70 #define MULTI_BUTTON_EACH_LENGTH 16
76#if (MULTI_BUTTON_EACH_LENGTH < 8)
77 #error "MULTI_BUTTON_EACH_LENGTH < 8"
199#define DRIVER_MULTI_BUTTON_LINK_INIT(HANDLE, STRUCTURE) memset(HANDLE, 0, sizeof(STRUCTURE))
207#define DRIVER_MULTI_BUTTON_LINK_MATRIX_INIT(HANDLE, FUC) (HANDLE)->matrix_init = FUC
215#define DRIVER_MULTI_BUTTON_LINK_MATRIX_DEINIT(HANDLE, FUC) (HANDLE)->matrix_deinit = FUC
223#define DRIVER_MULTI_BUTTON_LINK_MATRIX_WRITE_ROW(HANDLE, FUC) (HANDLE)->matrix_write_row = FUC
231#define DRIVER_MULTI_BUTTON_LINK_MATRIX_READ_ROW(HANDLE, FUC) (HANDLE)->matrix_read_row = FUC
239#define DRIVER_MULTI_BUTTON_LINK_TIMESTAMP_READ(HANDLE, FUC) (HANDLE)->timestamp_read = FUC
247#define DRIVER_MULTI_BUTTON_LINK_DELAY_MS(HANDLE, FUC) (HANDLE)->delay_ms = FUC
255#define DRIVER_MULTI_BUTTON_LINK_DEBUG_PRINT(HANDLE, FUC) (HANDLE)->debug_print = FUC
263#define DRIVER_MULTI_BUTTON_LINK_RECEIVE_CALLBACK(HANDLE, FUC) (HANDLE)->receive_callback = FUC