mirror of
https://github.com/DarkFlippers/unleashed-firmware
synced 2024-11-27 15:00:46 +00:00
46 lines
2 KiB
C
46 lines
2 KiB
C
|
#pragma once
|
||
|
|
||
|
typedef enum {
|
||
|
InfraredErrorCodeNone = 0,
|
||
|
InfraredErrorCodeFileOperationFailed = 0x800000,
|
||
|
InfraredErrorCodeWrongFileType = 0x80000100,
|
||
|
InfraredErrorCodeWrongFileVersion = 0x80000200,
|
||
|
|
||
|
//Common signal errors
|
||
|
InfraredErrorCodeSignalTypeUnknown = 0x80000300,
|
||
|
InfraredErrorCodeSignalNameNotFound = 0x80000400,
|
||
|
InfraredErrorCodeSignalUnableToReadType = 0x80000500,
|
||
|
InfraredErrorCodeSignalUnableToWriteType = 0x80000600,
|
||
|
|
||
|
//Raw signal errors
|
||
|
InfraredErrorCodeSignalRawUnableToReadFrequency = 0x80000700,
|
||
|
InfraredErrorCodeSignalRawUnableToReadDutyCycle = 0x80000800,
|
||
|
InfraredErrorCodeSignalRawUnableToReadTimingsSize = 0x80000900,
|
||
|
InfraredErrorCodeSignalRawUnableToReadTooLongData = 0x80000A00,
|
||
|
InfraredErrorCodeSignalRawUnableToReadData = 0x80000B00,
|
||
|
|
||
|
InfraredErrorCodeSignalRawUnableToWriteFrequency = 0x80000C00,
|
||
|
InfraredErrorCodeSignalRawUnableToWriteDutyCycle = 0x80000D00,
|
||
|
InfraredErrorCodeSignalRawUnableToWriteData = 0x80000E00,
|
||
|
|
||
|
//Message signal errors
|
||
|
InfraredErrorCodeSignalMessageUnableToReadProtocol = 0x80000F00,
|
||
|
InfraredErrorCodeSignalMessageUnableToReadAddress = 0x80001000,
|
||
|
InfraredErrorCodeSignalMessageUnableToReadCommand = 0x80001100,
|
||
|
InfraredErrorCodeSignalMessageIsInvalid = 0x80001200,
|
||
|
|
||
|
InfraredErrorCodeSignalMessageUnableToWriteProtocol = 0x80001300,
|
||
|
InfraredErrorCodeSignalMessageUnableToWriteAddress = 0x80001400,
|
||
|
InfraredErrorCodeSignalMessageUnableToWriteCommand = 0x80001500,
|
||
|
} InfraredErrorCode;
|
||
|
|
||
|
#define INFRARED_ERROR_CODE_MASK (0xFFFFFF00)
|
||
|
#define INFRARED_ERROR_INDEX_MASK (0x000000FF)
|
||
|
|
||
|
#define INFRARED_ERROR_GET_CODE(error) (error & INFRARED_ERROR_CODE_MASK)
|
||
|
#define INFRARED_ERROR_GET_INDEX(error) (error & INFRARED_ERROR_INDEX_MASK)
|
||
|
#define INFRARED_ERROR_SET_INDEX(code, index) (code |= (index & INFRARED_ERROR_INDEX_MASK))
|
||
|
|
||
|
#define INFRARED_ERROR_PRESENT(error) (INFRARED_ERROR_GET_CODE(error) != InfraredErrorCodeNone)
|
||
|
#define INFRARED_ERROR_CHECK(error, test_code) (INFRARED_ERROR_GET_CODE(error) == test_code)
|