123
Fork of LG by
Diff: DeviceUserResponse.h
- Revision:
- 198:78dd6d14d108
- Parent:
- 197:7a05523bf588
diff -r 7a05523bf588 -r 78dd6d14d108 DeviceUserResponse.h --- a/DeviceUserResponse.h Wed Oct 19 10:55:05 2016 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,51 +0,0 @@ -#ifndef __DEVICE_USER_RESPONSE_H__ -#define __DEVICE_USER_RESPONSE_H__ - -typedef enum _ResponseType { - RESPONSE_NONE, //no sheduled response - RESPONSE_IMMEDIATE, //immediate response for most of requests - RESPONSE_DELAYED, //delayed response for broadcast requests - RESPONSE_PERIODIC //periodic response for some of requests -} ResponseType; - -typedef enum _ResponseData { - RESPONSE_BUFFER, //response buffer content as is if not empty - RESPONSE_DELTA_BINS, //fill buffer with Delta_BINS data set - RESPONSE_DELTA_PS, //fill buffer with Delta_PS data set - RESPONSE_DELTA_SF, //fill buffer with Delta_SF data set - RESPONSE_RATE //fill buffer with M_Rate data set -} ResponseData; - -#define OutputBufferSize 64 -typedef struct _DeviceOutputBuffer { - uint8_t data[OutputBufferSize]; //Buffer - uint8_t count; //Buffer byte count - uint8_t position; //Transmission position -} DeviceOutputBuffer; - -typedef struct _DeviceResponseParameter { - void * ref; //parameter address - uint16_t size; //parameter byte size -} DeviceResponseParameter; - -//Response state -typedef struct _DeviceUserResponse { - uint16_t code; //request code - ResponseType type; //how send: immediately/delayed/periodic - uint8_t enabled; //Enabled to fill response data - uint8_t ready; //Ready to transmit - uint32_t counter; //time from: broadcast line request/broadcast pin request/latest periodic response; values in mks; access this only from timer interrupt - uint32_t trigger; //counter trigger value to response; values in mks; - uint8_t triggered;//set this only from timer interrupt, clear from main loop - DeviceOutputBuffer buffer; - uint16_t message; //message: ok, error, ... - uint8_t parametersCount; - DeviceResponseParameter parameters[4]; //Response parameters list - uint16_t packet; //packet to send (for periodic answers) -} DeviceUserResponse; - -void InitUserResponseDefaultSettings(void); -void InitUserResponseState(void); -void DeviceStartUserResponse(void); - -#endif /* __DEVICE_USER_RESPONSE_H__ */ \ No newline at end of file