123

Dependencies:   mbed

Fork of LG by igor Apu

Revision:
161:efd949e8d536
Child:
167:bedc0a9d559a
--- /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