C MIP-SDK
|
00001 00002 // 00006 // 00008 // 00009 // External dependencies: 00010 // 00011 // 00012 // 00014 // 00017 // 00027 // 00029 00030 #ifndef _MIP_BASE_DESC_H 00031 #define _MIP_BASE_DESC_H 00032 00033 00035 // 00036 //Include Files 00037 // 00039 00040 #include "mip.h" 00041 #include "mip_sdk_interface.h" 00042 00044 // 00045 // Defines 00046 // 00049 00050 00052 // 00053 // Descriptor Set designator - used in the Desc Set field of the MIP header 00054 // 00056 00057 #define MIP_BASE_COMMAND_DESC_SET 0x01 00058 00060 // BASE COMMAND DESCRIPTORS (command desc are < 0x80) 00062 00063 #define MIP_CMD_DESC_BASE_PING 0x01 00064 #define MIP_CMD_DESC_BASE_SET_TO_IDLE 0x02 00065 #define MIP_CMD_DESC_BASE_GET_DEVICE_INFO 0x03 00066 #define MIP_CMD_DESC_BASE_GET_DEVICE_DESCRIPTORS 0x04 00067 #define MIP_CMD_DESC_BASE_BUILT_IN_TEST 0x05 00068 #define MIP_CMD_DESC_BASE_RESUME 0x06 00069 00070 #define MIP_CMD_DESC_BASE_GPS_TIME_BROADCAST 0x71 00071 #define MIP_CMD_DESC_BASE_FIRMWARE_UPDATE 0x7D 00072 #define MIP_CMD_DESC_BASE_SOFT_RESET 0x7E 00073 #define MIP_CMD_DESC_BASE_PRODUCTION_TEST 0x7F 00074 00076 // BASE REPLY DESCRIPTORS (reply desc are >= 0x80) 00078 00079 #define MIP_REPLY_DESC_BASE_DEVICE_INFO 0x81 00080 #define MIP_REPLY_DESC_BASE_DEVICE_DESCRIPTORS 0x82 00081 #define MIP_REPLY_DESC_BASE_BUILT_IN_TEST 0x83 00082 00083 00085 // COMMAND SECURITY VALUES 00087 00088 #define MIP_CMD_FIRMWARE_UPDATE_SECURITY_VAL 0x374EA822 00089 #define MIP_CMD_PRODUCTION_TEST_SECURITY_VAL 0xD3C4A133 00090 00091 00092 00093 00095 // 00096 // Structures 00097 // 00099 00100 #pragma pack(1) 00101 00102 #define BASE_DEVICE_INFO_PARAM_LENGTH 8 // 8 x 16 bits (16 characters) 00103 00105 // Device Information 00107 00108 typedef struct _base_device_info_field 00109 { 00110 u16 firmware_version; 00111 u16 model_name[BASE_DEVICE_INFO_PARAM_LENGTH]; 00112 u16 model_number[BASE_DEVICE_INFO_PARAM_LENGTH]; 00113 u16 serial_number[BASE_DEVICE_INFO_PARAM_LENGTH]; 00114 u16 lotnumber[BASE_DEVICE_INFO_PARAM_LENGTH]; 00115 u16 device_options[BASE_DEVICE_INFO_PARAM_LENGTH]; 00116 }base_device_info_field; 00117 00118 #pragma pack() 00119 00120 00122 // 00123 // Function Prototypes 00124 // 00126 00127 00128 u16 mip_base_cmd_ping(mip_interface *device_interface); 00129 u16 mip_base_cmd_idle(mip_interface *device_interface); 00130 u16 mip_base_cmd_get_device_info(mip_interface *device_interface, base_device_info_field *device_info); 00131 u16 mip_base_cmd_get_device_supported_descriptors(mip_interface *device_interface, u8 *response_buffer, u16 *response_size); 00132 u16 mip_base_cmd_built_in_test(mip_interface *device_interface, u32 *bit_result); 00133 u16 mip_base_cmd_resume(mip_interface *device_interface); 00134 u16 mip_base_cmd_reset_device(mip_interface *device_interface); 00135 00136 00137 #endif