30 lines
684 B
C
30 lines
684 B
C
// SPDX-License-Identifier: GPL-2.0-only
|
|
#ifndef GXFP_PROTOCOL_H
|
|
#define GXFP_PROTOCOL_H
|
|
|
|
#include <stddef.h>
|
|
#include <stdint.h>
|
|
|
|
#define GXFP_MP_COMMAND 0xA0
|
|
#define GXFP_MP_RX_COMMAND 0x0A
|
|
#define GXFP_GOODIX_CHECKSUM_TARGET 0xAA
|
|
#define GXFP_GOODIX_ACK 0xB0
|
|
#define GXFP_CMD_IMAGE_CAPTURE 0x20
|
|
|
|
struct gxfp_frame_view {
|
|
uint8_t command;
|
|
const uint8_t *payload;
|
|
size_t payload_len;
|
|
uint8_t checksum;
|
|
};
|
|
|
|
int gxfp_frame_build(uint8_t command,
|
|
const void *payload, size_t payload_len,
|
|
uint8_t *output, size_t output_capacity,
|
|
size_t *output_len);
|
|
|
|
int gxfp_frame_parse(const void *frame, size_t frame_len,
|
|
struct gxfp_frame_view *view);
|
|
|
|
#endif
|