/* * SPI controller driver for the nordic52832 SoCs * * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. * */ #ifndef __APHOST_H__ #define __APHOST_H__ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define MAX_PACK_SIZE 100 #define MAX_DATA_SIZE 32 typedef struct { uint64_t ts; uint32_t size; uint8_t data[MAX_DATA_SIZE]; } d_packet_t; typedef struct { volatile int8_t c_head; volatile int8_t p_head; volatile int8_t packDS; d_packet_t data[MAX_PACK_SIZE]; }cp_buffer_t; typedef enum _requestType_t { getMasterNordicVersionRequest = 1, setVibStateRequest, bondJoyStickRequest, disconnectJoyStickRequest, getJoyStickBondStateRequest, hostEnterDfuStateRequest, getLeftJoyStickProductNameRequest, getRightJoyStickProductNameRequest, getLeftJoyStickFwVersionRequest, getRightJoyStickFwVersionRequest, invalidRequest, }requestType_t; typedef struct _request_t { struct _requestHead { unsigned char requestType:7; unsigned char needAck:1; //1:need to ack 0:don't need to ack } requestHead; unsigned char requestData[3]; }request_t; typedef struct _acknowledge_t { struct _acknowledgeHead { unsigned char requestType:7; unsigned char ack:1; //1:ack 0:not ack } acknowledgeHead; unsigned char acknowledgeData[3]; }acknowledge_t; #endif //__APHOST_H__