/**\r
* @brief Factory test mode\r
*/\r
-int MMC5603_Factory_Test_Mode(void);\r
+int CUSTOM_MMC5603_Factory_Test_Mode(void);\r
\r
/**\r
* @brief SET operation \r
*/\r
-void MMC5603_SET(void);\r
+void CUSTOM_MMC5603_SET(void);\r
\r
/**\r
* @brief RESET operation \r
*/\r
-void MMC5603_RESET(void);\r
+void CUSTOM_MMC5603_RESET(void);\r
\r
/**\r
* @brief OTP read done check\r
*/\r
-int MMC5603_Check_OTP(void);\r
+int CUSTOM_MMC5603_Check_OTP(void);\r
\r
/**\r
* @brief Check Product ID\r
*/\r
-int MMC5603_CheckID(void);\r
+int CUSTOM_MMC5603_CheckID(void);\r
\r
/**\r
* @brief Auto self-test registers configuration\r
*/\r
-void MMC5603_Auto_SelfTest_Configuration(void);\r
+void CUSTOM_MMC5603_Auto_SelfTest_Configuration(void);\r
\r
/**\r
* @brief Auto self-test\r
*/\r
-int MMC5603_Auto_SelfTest(void);\r
+int CUSTOM_MMC5603_Auto_SelfTest(void);\r
\r
/*********************************************************************************\r
* decription: Factory test mode \r
*********************************************************************************/\r
-int MMC5603_Factory_Test_Mode(void)\r
+int CUSTOM_MMC5603_Factory_Test_Mode(void)\r
{\r
int i;\r
uint8_t data_reg[6] ={0};\r
\r
/* Write reg 0x1D */\r
/* Set Cmm_en bit '0', Disable continuous mode */ \r
- I2C_Write_Reg(MMC5603_7BITI2C_ADDRESS, MMC5603_REG_CTRL2, 0x00);\r
+ I2C_Write_Reg(CUSTOM_MMC5603_7BITI2C_ADDRESS, CUSTOM_MMC5603_REG_CTRL2, 0x00);\r
\r
- mmc5603_Delay_Ms(20);\r
+ CUSTOM_MMC5603_Delay_Ms(20);\r
\r
/* Write reg 0x1B */\r
/* Set Auto_SR_en bit '0', Disable the function of automatic set/reset */\r
- I2C_Write_Reg(MMC5603_7BITI2C_ADDRESS, MMC5603_REG_CTRL0, 0x00); \r
+ I2C_Write_Reg(CUSTOM_MMC5603_7BITI2C_ADDRESS, CUSTOM_MMC5603_REG_CTRL0, 0x00); \r
\r
/* Write reg 0x1C, Set BW<1:0> = 00 */\r
- I2C_Write_Reg(MMC5603_7BITI2C_ADDRESS, MMC5603_REG_CTRL1, 0x00); \r
+ I2C_Write_Reg(CUSTOM_MMC5603_7BITI2C_ADDRESS, CUSTOM_MMC5603_REG_CTRL1, 0x00); \r
\r
/* Do RESET operation */\r
- MMC5603_RESET(); \r
+ CUSTOM_MMC5603_RESET(); \r
/* Write 0x01 to register 0x1B, set Take_meas_M bit '1' */\r
- I2C_Write_Reg(MMC5603_7BITI2C_ADDRESS, MMC5603_REG_CTRL0, MMC5603_CMD_TMM); \r
+ I2C_Write_Reg(CUSTOM_MMC5603_7BITI2C_ADDRESS, CUSTOM_MMC5603_REG_CTRL0, CUSTOM_MMC5603_CMD_TMM); \r
/* Delay 10 ms to finish the TM operation */\r
- mmc5603_Delay_Ms(10); \r
+ CUSTOM_MMC5603_Delay_Ms(10); \r
/* Read register data */\r
- I2C_MultiRead_Reg(MMC5603_7BITI2C_ADDRESS, MMC5603_REG_DATA, 6, data_reg);\r
+ I2C_MultiRead_Reg(CUSTOM_MMC5603_7BITI2C_ADDRESS, CUSTOM_MMC5603_REG_DATA, 6, data_reg);\r
/* Get high 16bits data */\r
data_reset[0] = (uint16_t)(data_reg[0] << 8 | data_reg[1]); //X axis\r
data_reset[1] = (uint16_t)(data_reg[2] << 8 | data_reg[3]); //Y axis \r
data_reset[2] = (uint16_t)(data_reg[4] << 8 | data_reg[5]); //Z axis \r
\r
/* Do SET operation */\r
- MMC5603_SET(); \r
+ CUSTOM_MMC5603_SET(); \r
/* Write 0x01 to register 0x1B, set Take_meas_M bit '1' */\r
- I2C_Write_Reg(MMC5603_7BITI2C_ADDRESS,MMC5603_REG_CTRL0,MMC5603_CMD_TMM); \r
+ I2C_Write_Reg(CUSTOM_MMC5603_7BITI2C_ADDRESS,CUSTOM_MMC5603_REG_CTRL0,CUSTOM_MMC5603_CMD_TMM); \r
/* Delay 10 ms to finish the TM operation */\r
- mmc5603_Delay_Ms(10); \r
+ CUSTOM_MMC5603_Delay_Ms(10); \r
/* Read register data */\r
- I2C_MultiRead_Reg(MMC5603_7BITI2C_ADDRESS, MMC5603_REG_DATA, 6, data_reg);\r
+ I2C_MultiRead_Reg(CUSTOM_MMC5603_7BITI2C_ADDRESS, CUSTOM_MMC5603_REG_DATA, 6, data_reg);\r
/* Get high 16bits data */\r
data_set[0] = (uint16_t)(data_reg[0] << 8 | data_reg[1]); //X axis\r
data_set[1] = (uint16_t)(data_reg[2] << 8 | data_reg[3]); //Y axis \r
/*********************************************************************************\r
* decription: SET operation \r
*********************************************************************************/\r
-void MMC5603_SET(void)\r
+void CUSTOM_MMC5603_SET(void)\r
{ \r
/* Write 0x08 to register 0x1B, set SET bit high */\r
- I2C_Write_Reg(MMC5603_7BITI2C_ADDRESS, MMC5603_REG_CTRL0, MMC5603_CMD_SET); \r
+ I2C_Write_Reg(CUSTOM_MMC5603_7BITI2C_ADDRESS, CUSTOM_MMC5603_REG_CTRL0, CUSTOM_MMC5603_CMD_SET); \r
\r
/* Delay to finish the SET operation */\r
- mmc5603_Delay_Ms(1);\r
+ CUSTOM_MMC5603_Delay_Ms(1);\r
\r
return; \r
}\r
/*********************************************************************************\r
* decription: RESET operation \r
*********************************************************************************/\r
-void MMC5603_RESET(void)\r
+void CUSTOM_MMC5603_RESET(void)\r
{ \r
/* Write 0x10 to register 0x1B, set RESET bit high */\r
- I2C_Write_Reg(MMC5603_7BITI2C_ADDRESS, MMC5603_REG_CTRL0, MMC5603_CMD_RESET);\r
+ I2C_Write_Reg(CUSTOM_MMC5603_7BITI2C_ADDRESS, CUSTOM_MMC5603_REG_CTRL0, CUSTOM_MMC5603_CMD_RESET);\r
\r
/* Delay to finish the RESET operation */\r
- mmc5603_Delay_Ms(1);\r
+ CUSTOM_MMC5603_Delay_Ms(1);\r
\r
return; \r
}\r
/*********************************************************************************\r
* decription: Product ID check\r
*********************************************************************************/\r
-int MMC5603_CheckID(void)\r
+int CUSTOM_MMC5603_CheckID(void)\r
{\r
unsigned char pro_id = 0;\r
\r
/* Read register 0x39, check product ID */\r
- I2C_Read_Reg(MMC5603_7BITI2C_ADDRESS, MMC5603_REG_PRODUCTID1, &pro_id); \r
- if(pro_id != MMC5603_PRODUCT_ID)\r
+ I2C_Read_Reg(CUSTOM_MMC5603_7BITI2C_ADDRESS, CUSTOM_MMC5603_REG_PRODUCTID1, &pro_id); \r
+ if(pro_id != CUSTOM_MMC5603_PRODUCT_ID)\r
return -1;\r
PRINT("MMC5603 ID : 0x%x\r\n",pro_id);\r
return 1;\r
}\r
\r
-void MMC5603_GETID(unsigned char *id)\r
+void CUSTOM_MMC5603_GETID(unsigned char *id)\r
{\r
- I2C_Read_Reg(MMC5603_7BITI2C_ADDRESS, MMC5603_REG_PRODUCTID1, id); \r
+ I2C_Read_Reg(CUSTOM_MMC5603_7BITI2C_ADDRESS, CUSTOM_MMC5603_REG_PRODUCTID1, id); \r
}\r
\r
/*********************************************************************************\r
* decription: Auto self-test registers configuration\r
*********************************************************************************/\r
-void MMC5603_Auto_SelfTest_Configuration(void)\r
+void CUSTOM_MMC5603_Auto_SelfTest_Configuration(void)\r
{\r
int i;\r
uint8_t reg_value[3];\r
uint8_t st_thd_reg[3]; \r
\r
/* Read trim data from reg 0x27-0x29 */\r
- I2C_MultiRead_Reg(MMC5603_7BITI2C_ADDRESS,MMC5603_REG_ST_X_VAL,3,reg_value); \r
+ I2C_MultiRead_Reg(CUSTOM_MMC5603_7BITI2C_ADDRESS,CUSTOM_MMC5603_REG_ST_X_VAL,3,reg_value); \r
for(i=0;i<3;i++)\r
{\r
st_thr_data[i] = (int16_t)(reg_value[i]-128)*32; \r
st_thd_reg[i] = (uint8_t)st_thd[i];\r
}\r
/* Write threshold into the reg 0x1E-0x20 */\r
- I2C_Write_Reg(MMC5603_7BITI2C_ADDRESS, MMC5603_REG_X_THD, st_thd_reg[0]);\r
- I2C_Write_Reg(MMC5603_7BITI2C_ADDRESS, MMC5603_REG_Y_THD, st_thd_reg[1]);\r
- I2C_Write_Reg(MMC5603_7BITI2C_ADDRESS, MMC5603_REG_Z_THD, st_thd_reg[2]);\r
+ I2C_Write_Reg(CUSTOM_MMC5603_7BITI2C_ADDRESS, CUSTOM_MMC5603_REG_X_THD, st_thd_reg[0]);\r
+ I2C_Write_Reg(CUSTOM_MMC5603_7BITI2C_ADDRESS, CUSTOM_MMC5603_REG_Y_THD, st_thd_reg[1]);\r
+ I2C_Write_Reg(CUSTOM_MMC5603_7BITI2C_ADDRESS, CUSTOM_MMC5603_REG_Z_THD, st_thd_reg[2]);\r
\r
return;\r
}\r
/*********************************************************************************\r
* decription: Auto self-test\r
*********************************************************************************/\r
-int MMC5603_Auto_SelfTest(void)\r
+int CUSTOM_MMC5603_Auto_SelfTest(void)\r
{\r
uint8_t reg_status = 0;\r
\r
/* Write 0x40 to register 0x1B, set Auto_st_en bit high */\r
- I2C_Write_Reg(MMC5603_7BITI2C_ADDRESS, MMC5603_REG_CTRL0, MMC5603_CMD_AUTO_ST_EN);\r
+ I2C_Write_Reg(CUSTOM_MMC5603_7BITI2C_ADDRESS, CUSTOM_MMC5603_REG_CTRL0, CUSTOM_MMC5603_CMD_AUTO_ST_EN);\r
\r
/* Delay 15ms to finish the selftest process */\r
- mmc5603_Delay_Ms(15);\r
+ CUSTOM_MMC5603_Delay_Ms(15);\r
\r
/* Read register 0x18, check Sat_sensor bit */\r
- I2C_Read_Reg(MMC5603_7BITI2C_ADDRESS, MMC5603_REG_STATUS1, ®_status); \r
- if((reg_status&MMC5603_SAT_SENSOR))\r
+ I2C_Read_Reg(CUSTOM_MMC5603_7BITI2C_ADDRESS, CUSTOM_MMC5603_REG_STATUS1, ®_status); \r
+ if((reg_status&CUSTOM_MMC5603_SAT_SENSOR))\r
{\r
return -1;\r
}\r
/*********************************************************************************\r
* decription: Continuous mode configuration with auto set and reset\r
*********************************************************************************/\r
-void MMC5603_Continuous_Mode_With_Auto_SR(uint8_t bandwith, uint8_t sampling_rate)\r
+void CUSTOM_MMC5603_Continuous_Mode_With_Auto_SR(uint8_t bandwith, uint8_t sampling_rate)\r
{\r
/* Write reg 0x1C, Set BW<1:0> = bandwith */\r
- I2C_Write_Reg(MMC5603_7BITI2C_ADDRESS, MMC5603_REG_CTRL1, bandwith);\r
+ I2C_Write_Reg(CUSTOM_MMC5603_7BITI2C_ADDRESS, CUSTOM_MMC5603_REG_CTRL1, bandwith);\r
\r
/* Write reg 0x1A, set ODR<7:0> = sampling_rate */\r
- I2C_Write_Reg(MMC5603_7BITI2C_ADDRESS, MMC5603_REG_ODR, sampling_rate); \r
+ I2C_Write_Reg(CUSTOM_MMC5603_7BITI2C_ADDRESS, CUSTOM_MMC5603_REG_ODR, sampling_rate); \r
\r
/* Write reg 0x1B */\r
/* Set Auto_SR_en bit '1', Enable the function of automatic set/reset */\r
/* Set Cmm_freq_en bit '1', Start the calculation of the measurement period according to the ODR*/ \r
- I2C_Write_Reg(MMC5603_7BITI2C_ADDRESS, MMC5603_REG_CTRL0, MMC5603_CMD_CMM_FREQ_EN|MMC5603_CMD_AUTO_SR_EN);\r
+ I2C_Write_Reg(CUSTOM_MMC5603_7BITI2C_ADDRESS, CUSTOM_MMC5603_REG_CTRL0, CUSTOM_MMC5603_CMD_CMM_FREQ_EN|CUSTOM_MMC5603_CMD_AUTO_SR_EN);\r
\r
/* Write reg 0x1D */\r
/* Set Cmm_en bit '1', Enter continuous mode */ \r
- I2C_Write_Reg(MMC5603_7BITI2C_ADDRESS, MMC5603_REG_CTRL2, MMC5603_CMD_CMM_EN); \r
+ I2C_Write_Reg(CUSTOM_MMC5603_7BITI2C_ADDRESS, CUSTOM_MMC5603_REG_CTRL2, CUSTOM_MMC5603_CMD_CMM_EN); \r
\r
return;\r
}\r
/*********************************************************************************\r
* decription: Do selftest operation periodically\r
*********************************************************************************/\r
-int MMC5603_Saturation_Checking(void)\r
+int CUSTOM_MMC5603_Saturation_Checking(void)\r
{ \r
int ret = 0; //1 pass, -1 fail, 0 elapsed time is less 5 seconds\r
\r
if((cnt++)>=NumOfSamples)\r
{\r
cnt = 0;\r
- ret = MMC5603_Auto_SelfTest();\r
+ ret = CUSTOM_MMC5603_Auto_SelfTest();\r
if(ret == -1) \r
{\r
/* Sensor is saturated, need to do SET operation */\r
- MMC5603_SET(); \r
+ CUSTOM_MMC5603_SET(); \r
}\r
\r
/* Do TM_M after selftest operation */\r
- I2C_Write_Reg(MMC5603_7BITI2C_ADDRESS,MMC5603_REG_CTRL0,MMC5603_CMD_TMM); \r
- mmc5603_Delay_Ms(8);\r
+ I2C_Write_Reg(CUSTOM_MMC5603_7BITI2C_ADDRESS,CUSTOM_MMC5603_REG_CTRL0,CUSTOM_MMC5603_CMD_TMM); \r
+ CUSTOM_MMC5603_Delay_Ms(8);\r
}\r
\r
return ret;\r
/*********************************************************************************\r
* decription: Auto switch the working mode between Auto_SR and SETonly\r
*********************************************************************************/\r
-void MMC5603_Auto_Switch(uint16_t *mag)\r
+void CUSTOM_MMC5603_Auto_Switch(uint16_t *mag)\r
{\r
float mag_out[3]; \r
\r
- mag_out[0] = ((float)mag[0] - MMC5603_16BIT_OFFSET)/MMC5603_16BIT_SENSITIVITY;\r
- mag_out[1] = ((float)mag[1] - MMC5603_16BIT_OFFSET)/MMC5603_16BIT_SENSITIVITY;\r
- mag_out[2] = ((float)mag[2] - MMC5603_16BIT_OFFSET)/MMC5603_16BIT_SENSITIVITY;\r
+ mag_out[0] = ((float)mag[0] - CUSTOM_MMC5603_16BIT_OFFSET)/CUSTOM_MMC5603_16BIT_SENSITIVITY;\r
+ mag_out[1] = ((float)mag[1] - CUSTOM_MMC5603_16BIT_OFFSET)/CUSTOM_MMC5603_16BIT_SENSITIVITY;\r
+ mag_out[2] = ((float)mag[2] - CUSTOM_MMC5603_16BIT_OFFSET)/CUSTOM_MMC5603_16BIT_SENSITIVITY;\r
\r
if(sensor_state == 1)\r
{\r
sensor_state = 2;\r
\r
/* Disable continuous mode */ \r
- I2C_Write_Reg(MMC5603_7BITI2C_ADDRESS, MMC5603_REG_CTRL2, 0x00);\r
- mmc5603_Delay_Ms(15);//Delay 15ms to finish the last sampling\r
+ I2C_Write_Reg(CUSTOM_MMC5603_7BITI2C_ADDRESS, CUSTOM_MMC5603_REG_CTRL2, 0x00);\r
+ CUSTOM_MMC5603_Delay_Ms(15);//Delay 15ms to finish the last sampling\r
\r
/* Do SET operation */\r
- I2C_Write_Reg(MMC5603_7BITI2C_ADDRESS, MMC5603_REG_CTRL0, MMC5603_CMD_SET); \r
- mmc5603_Delay_Ms(1);//Delay 1ms to finish the SET operation\r
+ I2C_Write_Reg(CUSTOM_MMC5603_7BITI2C_ADDRESS, CUSTOM_MMC5603_REG_CTRL0, CUSTOM_MMC5603_CMD_SET); \r
+ CUSTOM_MMC5603_Delay_Ms(1);//Delay 1ms to finish the SET operation\r
\r
/* Do TM_M before next data reading */\r
- I2C_Write_Reg(MMC5603_7BITI2C_ADDRESS,MMC5603_REG_CTRL0,MMC5603_CMD_TMM); \r
- mmc5603_Delay_Ms(8);//Delay 8ms to finish the TM_M operation \r
+ I2C_Write_Reg(CUSTOM_MMC5603_7BITI2C_ADDRESS,CUSTOM_MMC5603_REG_CTRL0,CUSTOM_MMC5603_CMD_TMM); \r
+ CUSTOM_MMC5603_Delay_Ms(8);//Delay 8ms to finish the TM_M operation \r
} \r
}\r
else if(sensor_state == 2)\r
sensor_state = 1;\r
\r
/* Enable continuous mode with Auto_SR */\r
- I2C_Write_Reg(MMC5603_7BITI2C_ADDRESS, MMC5603_REG_CTRL0, MMC5603_CMD_CMM_FREQ_EN|MMC5603_CMD_AUTO_SR_EN);\r
- I2C_Write_Reg(MMC5603_7BITI2C_ADDRESS, MMC5603_REG_CTRL2, MMC5603_CMD_CMM_EN);\r
+ I2C_Write_Reg(CUSTOM_MMC5603_7BITI2C_ADDRESS, CUSTOM_MMC5603_REG_CTRL0, CUSTOM_MMC5603_CMD_CMM_FREQ_EN|CUSTOM_MMC5603_CMD_AUTO_SR_EN);\r
+ I2C_Write_Reg(CUSTOM_MMC5603_7BITI2C_ADDRESS, CUSTOM_MMC5603_REG_CTRL2, CUSTOM_MMC5603_CMD_CMM_EN);\r
}\r
else\r
{ \r
/* Sensor checking */\r
- if(MMC5603_Saturation_Checking()==0)\r
+ if(CUSTOM_MMC5603_Saturation_Checking()==0)\r
{ \r
/* Do TM_M before next data reading */\r
- I2C_Write_Reg(MMC5603_7BITI2C_ADDRESS,MMC5603_REG_CTRL0,MMC5603_CMD_TMM); \r
+ I2C_Write_Reg(CUSTOM_MMC5603_7BITI2C_ADDRESS,CUSTOM_MMC5603_REG_CTRL0,CUSTOM_MMC5603_CMD_TMM); \r
}\r
} \r
}\r
/*********************************************************************************\r
* decription: Disable sensor continuous mode\r
*********************************************************************************/\r
-void MMC5603_Disable(void)\r
+void CUSTOM_MMC5603_Disable(void)\r
{\r
/* Write reg 0x1D */\r
/* Set Cmm_en bit '0', Disable continuous mode */ \r
- I2C_Write_Reg(MMC5603_7BITI2C_ADDRESS, MMC5603_REG_CTRL2, 0x00);\r
+ I2C_Write_Reg(CUSTOM_MMC5603_7BITI2C_ADDRESS, CUSTOM_MMC5603_REG_CTRL2, 0x00);\r
\r
- mmc5603_Delay_Ms(20);\r
+ CUSTOM_MMC5603_Delay_Ms(20);\r
\r
return;\r
}\r
/*********************************************************************************\r
* decription: Enable sensor\r
*********************************************************************************/\r
-void MMC5603_Enable(void)\r
+void CUSTOM_MMC5603_Enable(void)\r
{ \r
int ret = 0;\r
\r
sensor_state = 1;\r
\r
/* Check product ID */\r
- ret = MMC5603_CheckID();\r
+ ret = CUSTOM_MMC5603_CheckID();\r
if(ret<0)\r
return; \r
\r
/* Auto self-test registers configuration */\r
- MMC5603_Auto_SelfTest_Configuration();\r
+ CUSTOM_MMC5603_Auto_SelfTest_Configuration();\r
\r
/* Do SET operation */\r
- MMC5603_SET(); \r
+ CUSTOM_MMC5603_SET(); \r
\r
/* Work mode setting */\r
- MMC5603_Continuous_Mode_With_Auto_SR(MMC5603_CMD_BW00, 50);\r
+ CUSTOM_MMC5603_Continuous_Mode_With_Auto_SR(CUSTOM_MMC5603_CMD_BW00, 50);\r
\r
- mmc5603_Delay_Ms(20);\r
+ CUSTOM_MMC5603_Delay_Ms(20);\r
\r
return;\r
}\r
/*********************************************************************************\r
* decription: Read the data register and convert to magnetic field \r
*********************************************************************************/\r
-void MMC5603_GetData(float *mag_out)\r
+void CUSTOM_MMC5603_GetData(float *mag_out)\r
{\r
uint8_t data_reg[6] ={0};\r
uint16_t data_temp[3] = {0};\r
\r
/* Read register data */\r
- I2C_MultiRead_Reg(MMC5603_7BITI2C_ADDRESS, MMC5603_REG_DATA, 6, data_reg);\r
+ I2C_MultiRead_Reg(CUSTOM_MMC5603_7BITI2C_ADDRESS, CUSTOM_MMC5603_REG_DATA, 6, data_reg);\r
\r
/* Get high 16bits data */\r
data_temp[0] = (uint16_t)(data_reg[0] << 8 | data_reg[1]); \r
data_temp[2] = (uint16_t)(data_reg[4] << 8 | data_reg[5]); \r
\r
/* Transform to unit Gauss */\r
- mag_out[0] = ((float)data_temp[0] - MMC5603_16BIT_OFFSET)/MMC5603_16BIT_SENSITIVITY; \r
- mag_out[1] = ((float)data_temp[1] - MMC5603_16BIT_OFFSET)/MMC5603_16BIT_SENSITIVITY;\r
- mag_out[2] = ((float)data_temp[2] - MMC5603_16BIT_OFFSET)/MMC5603_16BIT_SENSITIVITY;\r
+ mag_out[0] = ((float)data_temp[0] - CUSTOM_MMC5603_16BIT_OFFSET)/CUSTOM_MMC5603_16BIT_SENSITIVITY; \r
+ mag_out[1] = ((float)data_temp[1] - CUSTOM_MMC5603_16BIT_OFFSET)/CUSTOM_MMC5603_16BIT_SENSITIVITY;\r
+ mag_out[2] = ((float)data_temp[2] - CUSTOM_MMC5603_16BIT_OFFSET)/CUSTOM_MMC5603_16BIT_SENSITIVITY;\r
\r
// mag_out[0] = get_filter_data_x(mag_out[0]);\r
// mag_out[1] = get_filter_data_y(mag_out[1]);\r
// mag_out[2] = get_filter_data_z(mag_out[2]);\r
// filter_index_plus();\r
\r
- MMC5603_Auto_Switch(data_temp); \r
+ CUSTOM_MMC5603_Auto_Switch(data_temp); \r
\r
return;\r
}\r
// typedef signed int int32_t; // signed 32-bt number (-2,147,483,648 to +2,147,483,647)\r
// typedef unsigned int uint32_t; // unsigned 32-bit number (+0 to +4,294,967,295)\r
\r
-#define MMC5603_7BITI2C_ADDRESS 0x30\r
+#define CUSTOM_MMC5603_7BITI2C_ADDRESS 0x30\r
\r
-#define MMC5603_REG_DATA 0x00\r
+#define CUSTOM_MMC5603_REG_DATA 0x00\r
\r
-#define MMC5603_REG_STATUS1 0x18\r
-#define MMC5603_REG_STATUS0 0x19\r
+#define CUSTOM_MMC5603_REG_STATUS1 0x18\r
+#define CUSTOM_MMC5603_REG_STATUS0 0x19\r
\r
-#define MMC5603_REG_ODR 0x1A\r
-#define MMC5603_REG_CTRL0 0x1B\r
-#define MMC5603_REG_CTRL1 0x1C\r
-#define MMC5603_REG_CTRL2 0x1D\r
+#define CUSTOM_MMC5603_REG_ODR 0x1A\r
+#define CUSTOM_MMC5603_REG_CTRL0 0x1B\r
+#define CUSTOM_MMC5603_REG_CTRL1 0x1C\r
+#define CUSTOM_MMC5603_REG_CTRL2 0x1D\r
\r
-#define MMC5603_REG_X_THD 0x1E\r
-#define MMC5603_REG_Y_THD 0x1F\r
-#define MMC5603_REG_Z_THD 0x20\r
+#define CUSTOM_MMC5603_REG_X_THD 0x1E\r
+#define CUSTOM_MMC5603_REG_Y_THD 0x1F\r
+#define CUSTOM_MMC5603_REG_Z_THD 0x20\r
\r
-#define MMC5603_REG_ST_X_VAL 0x27\r
-#define MMC5603_REG_ST_Y_VAL 0x28\r
-#define MMC5603_REG_ST_Z_VAL 0x29\r
+#define CUSTOM_MMC5603_REG_ST_X_VAL 0x27\r
+#define CUSTOM_MMC5603_REG_ST_Y_VAL 0x28\r
+#define CUSTOM_MMC5603_REG_ST_Z_VAL 0x29\r
\r
-#define MMC5603_REG_PRODUCTID1 0x39\r
+#define CUSTOM_MMC5603_REG_PRODUCTID1 0x39\r
\r
/* Bit definition for control register ODR 0x1A */\r
-#define MMC5603_CMD_ODR_1HZ 0x01\r
-#define MMC5603_CMD_ODR_5HZ 0x05\r
-#define MMC5603_CMD_ODR_10HZ 0x0A\r
-#define MMC5603_CMD_ODR_50HZ 0x32\r
-#define MMC5603_CMD_ODR_100HZ 0x64\r
-#define MMC5603_CMD_ODR_200HZ 0xC8\r
-#define MMC5603_CMD_ODR_255HZ 0xFF\r
+#define CUSTOM_MMC5603_CMD_ODR_1HZ 0x01\r
+#define CUSTOM_MMC5603_CMD_ODR_5HZ 0x05\r
+#define CUSTOM_MMC5603_CMD_ODR_10HZ 0x0A\r
+#define CUSTOM_MMC5603_CMD_ODR_50HZ 0x32\r
+#define CUSTOM_MMC5603_CMD_ODR_100HZ 0x64\r
+#define CUSTOM_MMC5603_CMD_ODR_200HZ 0xC8\r
+#define CUSTOM_MMC5603_CMD_ODR_255HZ 0xFF\r
\r
/* Bit definition for control register 0 0x1B */\r
-#define MMC5603_CMD_TMM 0x01\r
-#define MMC5603_CMD_TMT 0x02\r
-#define MMC5603_CMD_START_MDT 0x04\r
-#define MMC5603_CMD_SET 0x08\r
-#define MMC5603_CMD_RESET 0x10\r
-#define MMC5603_CMD_AUTO_SR_EN 0x20\r
-#define MMC5603_CMD_AUTO_ST_EN 0x40\r
-#define MMC5603_CMD_CMM_FREQ_EN 0x80\r
+#define CUSTOM_MMC5603_CMD_TMM 0x01\r
+#define CUSTOM_MMC5603_CMD_TMT 0x02\r
+#define CUSTOM_MMC5603_CMD_START_MDT 0x04\r
+#define CUSTOM_MMC5603_CMD_SET 0x08\r
+#define CUSTOM_MMC5603_CMD_RESET 0x10\r
+#define CUSTOM_MMC5603_CMD_AUTO_SR_EN 0x20\r
+#define CUSTOM_MMC5603_CMD_AUTO_ST_EN 0x40\r
+#define CUSTOM_MMC5603_CMD_CMM_FREQ_EN 0x80\r
\r
/* Bit definition for control register 1 0x1C */\r
-#define MMC5603_CMD_BW00 0x00\r
-#define MMC5603_CMD_BW01 0x01\r
-#define MMC5603_CMD_BW10 0x02\r
-#define MMC5603_CMD_BW11 0x03\r
-#define MMC5603_CMD_ST_ENP 0x20\r
-#define MMC5603_CMD_ST_ENM 0x40\r
-#define MMC5603_CMD_SW_RST 0x80\r
+#define CUSTOM_MMC5603_CMD_BW00 0x00\r
+#define CUSTOM_MMC5603_CMD_BW01 0x01\r
+#define CUSTOM_MMC5603_CMD_BW10 0x02\r
+#define CUSTOM_MMC5603_CMD_BW11 0x03\r
+#define CUSTOM_MMC5603_CMD_ST_ENP 0x20\r
+#define CUSTOM_MMC5603_CMD_ST_ENM 0x40\r
+#define CUSTOM_MMC5603_CMD_SW_RST 0x80\r
\r
/* Bit definition for control register 2 0x1D */\r
-#define MMC5603_CMD_PART_SET1 0x00\r
-#define MMC5603_CMD_PART_SET25 0x01\r
-#define MMC5603_CMD_PART_SET75 0x02\r
-#define MMC5603_CMD_PART_SET100 0x03\r
-#define MMC5603_CMD_PART_SET250 0x04\r
-#define MMC5603_CMD_PART_SET500 0x05\r
-#define MMC5603_CMD_PART_SET1000 0x06\r
-#define MMC5603_CMD_PART_SET2000 0x07\r
-#define MMC5603_CMD_EN_PART_SET 0x08\r
-#define MMC5603_CMD_CMM_EN 0x10\r
-#define MMC5603_CMD_INT_MDT_EN 0x20\r
-#define MMC5603_CMD_INT_MD_EN 0x40\r
-#define MMC5603_CMD_HPOWER 0x80\r
-\r
-#define MMC5603_PRODUCT_ID 0x10\r
-#define MMC5603_MM_DONE_INT 0x01\r
-#define MMC5603_MT_DONE_INT 0x02\r
-#define MMC5603_MDT_FLAG_INT 0x04\r
-#define MMC5603_ST_FAIL_INT 0x08\r
-#define MMC5603_OTP_READ_DONE 0x10\r
-#define MMC5603_SAT_SENSOR 0x20\r
-#define MMC5603_MM_DONE 0x40\r
-#define MMC5603_MT_DONE 0x80\r
+#define CUSTOM_MMC5603_CMD_PART_SET1 0x00\r
+#define CUSTOM_MMC5603_CMD_PART_SET25 0x01\r
+#define CUSTOM_MMC5603_CMD_PART_SET75 0x02\r
+#define CUSTOM_MMC5603_CMD_PART_SET100 0x03\r
+#define CUSTOM_MMC5603_CMD_PART_SET250 0x04\r
+#define CUSTOM_MMC5603_CMD_PART_SET500 0x05\r
+#define CUSTOM_MMC5603_CMD_PART_SET1000 0x06\r
+#define CUSTOM_MMC5603_CMD_PART_SET2000 0x07\r
+#define CUSTOM_MMC5603_CMD_EN_PART_SET 0x08\r
+#define CUSTOM_MMC5603_CMD_CMM_EN 0x10\r
+#define CUSTOM_MMC5603_CMD_INT_MDT_EN 0x20\r
+#define CUSTOM_MMC5603_CMD_INT_MD_EN 0x40\r
+#define CUSTOM_MMC5603_CMD_HPOWER 0x80\r
+\r
+#define CUSTOM_MMC5603_PRODUCT_ID 0x10\r
+#define CUSTOM_MMC5603_MM_DONE_INT 0x01\r
+#define CUSTOM_MMC5603_MT_DONE_INT 0x02\r
+#define CUSTOM_MMC5603_MDT_FLAG_INT 0x04\r
+#define CUSTOM_MMC5603_ST_FAIL_INT 0x08\r
+#define CUSTOM_MMC5603_OTP_READ_DONE 0x10\r
+#define CUSTOM_MMC5603_SAT_SENSOR 0x20\r
+#define CUSTOM_MMC5603_MM_DONE 0x40\r
+#define CUSTOM_MMC5603_MT_DONE 0x80\r
\r
// 16-bit mode, null field output (32768)\r
-#define MMC5603_16BIT_OFFSET 32768\r
-#define MMC5603_16BIT_SENSITIVITY 1024\r
+#define CUSTOM_MMC5603_16BIT_OFFSET 32768\r
+#define CUSTOM_MMC5603_16BIT_SENSITIVITY 1024\r
\r
/**\r
* @brief Enable the sensor\r
*/\r
-void MMC5603_Enable(void);\r
+void CUSTOM_MMC5603_Enable(void);\r
\r
/**\r
* @brief Disable the sensor\r
*/\r
-void MMC5603_Disable(void);\r
+void CUSTOM_MMC5603_Disable(void);\r
\r
/**\r
* @brief Get sensor data\r
* @param mag_out is the magnetic field vector, unit is gauss\r
*/\r
-void MMC5603_GetData(float *mag_out);\r
+void CUSTOM_MMC5603_GetData(float *mag_out);\r
\r
-void MMC5603_GETID(unsigned char *id);\r
+void CUSTOM_MMC5603_GETID(unsigned char *id);\r
\r
#endif\r
\r