123
Fork of LG by
Diff: DeviceUserProtocolDecoder.h
- Revision:
- 161:efd949e8d536
- Child:
- 167:bedc0a9d559a
diff -r 6170df6f5a5c -r efd949e8d536 DeviceUserProtocolDecoder.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/DeviceUserProtocolDecoder.h Sun May 15 19:12:12 2016 +0000 @@ -0,0 +1,81 @@ +#ifndef __DEVICE_USER_PROTOCOL_DECODER_H__ +#define __DEVICE_USER_PROTOCOL_DECODER_H__ + +//Requests decoding state +typedef struct _DeviceUserProtocolDecoder { + uint8_t error; //Decode error encountered + uint8_t canceled; //Decode canceled flag: continue decoding when clear (new data arrived) + uint8_t count; //Decoded bytes count + uint8_t address; //Decoded request address + uint8_t version; //Decoded protocol version (currently only 0 version exist) + uint16_t code; //Decoded command code + uint16_t position;//Current decoder position in input buffer + uint16_t CRC; //Current/final CRC of decoded packet + uint32_t param0; //Function call parameter 0 + uint32_t param1; //Function call parameter 1 + uint32_t param2; //Function call parameter 2 + uint32_t param3; //Function call parameter 3 +} DeviceUserProtocolDecoder; + +void InitUserProtocolDecoder(void); + +//Host communication main functions +void DeviceDecodeUserRequests(void); //Decode requests from receive buffer +void DevicePinDecode(void); //Decode hardware pin request +void DeviceEncodeUserResponse(void); //Encode response to transmit buffer + +//Decoder elementary functions +uint8_t Decode8(void); +uint16_t Decode16(void); +uint32_t Decode32(void); + +//Decoder common functions +void DecodeStart(void); +void DecodeEnd(void); +void DecodeCancel(void); +void DecodeFail(void); + +void DecodeAddress(void); +void DecodeCode(void); +void DecodeExtentionCode(void); +void DecodeCRC(void); + +//Decoder factory functions +void DecodeFactory(void); + +//Decoder data output functions +void DecodeDeviceMode(void); +void DecodeDelta(void); + +//Decoder maintenance functions +void DecodeMaintenanceMode(void); + +void DecodeMBasic(void); +void DoMaintenanceClear(void); +void DoMaintenanceMirror(void); +void DoMaintenanceStart(void); +void DoMaintenanceStop(void); + +void DecodeBITMode(void); +void DecodeMStymul(void); +void DecodeMReset(void); +void DecodeMControlRead(void); +void DecodeMControlWrite(void); +void DecodeMADCR(void); +void DecodeMTmpW(void); +void DecodeMTmpR(void); +void DecodeMe5rW(void); +void DecodeMCntR(void); +void DecodeMFlgR(void); +void DecodeMVibW(void); +void DecodeMGphW(void); + +void DecodeMRate(void); +void DecodeMRate2(void); +void DecodeMRate3(void); + +void DecodeMParamR(void); +void DecodeMParamW(void); +void DecodeMe5raW(void); + +#endif /* __DEVICE_USER_PROTOCOL_DECODER_H__ */ \ No newline at end of file