eeprom.c 10 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. #include"eeprom.h"
  2. void EEPROM_IM24CM01P_Init(void){
  3. EEPROM_IM24CM01P_Read(EEPROM_IM24CM01P_ID,EEPROM_ATT_A_EN_150M ,&ATT_A_EN_150M_Table.Atten_Table_31_5dB_Value ,sizeof(Atten_Table_Value_t));
  4. EEPROM_IM24CM01P_Read(EEPROM_IM24CM01P_ID,EEPROM_ATT_A_EN_WIFI1_2_4Ghz ,&ATT_A_EN_WIFI1_2_4Ghz_Table.Atten_Table_31_5dB_Value ,sizeof(Atten_Table_Value_t));
  5. EEPROM_IM24CM01P_Read(EEPROM_IM24CM01P_ID,EEPROM_ATT_A_EN_WIFI2_2_4Ghz ,&ATT_A_EN_WIFI2_2_4Ghz_Table.Atten_Table_31_5dB_Value ,sizeof(Atten_Table_Value_t));
  6. EEPROM_IM24CM01P_Read(EEPROM_IM24CM01P_ID,EEPROM_ATT_A_EN_WIFI3_2_4Ghz ,&ATT_A_EN_WIFI3_2_4Ghz_Table.Atten_Table_31_5dB_Value ,sizeof(Atten_Table_Value_t));
  7. EEPROM_IM24CM01P_Read(EEPROM_IM24CM01P_ID,EEPROM_ATT_A_EN_WIFI4_2_4Ghz ,&ATT_A_EN_WIFI4_2_4Ghz_Table.Atten_Table_31_5dB_Value ,sizeof(Atten_Table_Value_t));
  8. EEPROM_IM24CM01P_Read(EEPROM_IM24CM01P_ID,EEPROM_ATT_A_EN_WIFI1_5_8Ghz ,&ATT_A_EN_WIFI1_5_8Ghz_Table.Atten_Table_31_5dB_Value ,sizeof(Atten_Table_Value_t));
  9. EEPROM_IM24CM01P_Read(EEPROM_IM24CM01P_ID,EEPROM_ATT_A_EN_WIFI2_5_8Ghz ,&ATT_A_EN_WIFI2_5_8Ghz_Table.Atten_Table_31_5dB_Value ,sizeof(Atten_Table_Value_t));
  10. EEPROM_IM24CM01P_Read(EEPROM_IM24CM01P_ID,EEPROM_ATT_A_EN_WIFI3_5_8Ghz ,&ATT_A_EN_WIFI3_5_8Ghz_Table.Atten_Table_31_5dB_Value ,sizeof(Atten_Table_Value_t));
  11. EEPROM_IM24CM01P_Read(EEPROM_IM24CM01P_ID,EEPROM_ATT_A_EN_WIFI4_5_8Ghz ,&ATT_A_EN_WIFI4_5_8Ghz_Table.Atten_Table_31_5dB_Value ,sizeof(Atten_Table_Value_t));
  12. EEPROM_IM24CM01P_Read(EEPROM_IM24CM01P_ID,EEPROM_ATT_A_EN_30G1_28_28_5Ghz,&ATT_A_EN_30G1_28_28_5Ghz_Table.Atten_Table_31_5dB_Value ,sizeof(Atten_Table_Value_t));
  13. EEPROM_IM24CM01P_Read(EEPROM_IM24CM01P_ID,EEPROM_ATT_A_EN_30G2_28_28_5Ghz,&ATT_A_EN_30G2_28_28_5Ghz_Table.Atten_Table_31_5dB_Value ,sizeof(Atten_Table_Value_t));
  14. EEPROM_IM24CM01P_Read(EEPROM_IM24CM01P_ID,EEPROM_ATT_A_EN_30G3_28_28_5Ghz,&ATT_A_EN_30G3_28_28_5Ghz_Table.Atten_Table_31_5dB_Value ,sizeof(Atten_Table_Value_t));
  15. EEPROM_IM24CM01P_Read(EEPROM_IM24CM01P_ID,EEPROM_ATT_A_EN_30G1_28_5_29Ghz,&ATT_A_EN_30G1_28_5_29Ghz_Table.Atten_Table_31_5dB_Value ,sizeof(Atten_Table_Value_t));
  16. EEPROM_IM24CM01P_Read(EEPROM_IM24CM01P_ID,EEPROM_ATT_A_EN_30G2_28_5_29Ghz,&ATT_A_EN_30G2_28_5_29Ghz_Table.Atten_Table_31_5dB_Value ,sizeof(Atten_Table_Value_t));
  17. EEPROM_IM24CM01P_Read(EEPROM_IM24CM01P_ID,EEPROM_ATT_A_EN_30G3_28_5_29Ghz,&ATT_A_EN_30G3_28_5_29Ghz_Table.Atten_Table_31_5dB_Value ,sizeof(Atten_Table_Value_t));
  18. EEPROM_IM24CM01P_Read(EEPROM_IM24CM01P_ID,EEPROM_ATT_A_EN_30G1_29_29_5Ghz,&ATT_A_EN_30G1_29_29_5Ghz_Table.Atten_Table_31_5dB_Value ,sizeof(Atten_Table_Value_t));
  19. EEPROM_IM24CM01P_Read(EEPROM_IM24CM01P_ID,EEPROM_ATT_A_EN_30G2_29_29_5Ghz,&ATT_A_EN_30G2_29_29_5Ghz_Table.Atten_Table_31_5dB_Value ,sizeof(Atten_Table_Value_t));
  20. EEPROM_IM24CM01P_Read(EEPROM_IM24CM01P_ID,EEPROM_ATT_A_EN_30G3_29_29_5Ghz,&ATT_A_EN_30G3_29_29_5Ghz_Table.Atten_Table_31_5dB_Value ,sizeof(Atten_Table_Value_t));
  21. EEPROM_IM24CM01P_Read(EEPROM_IM24CM01P_ID,EEPROM_ATT_A_EN_30G1_29_5_30Ghz,&ATT_A_EN_30G1_29_5_30Ghz_Table.Atten_Table_31_5dB_Value ,sizeof(Atten_Table_Value_t));
  22. EEPROM_IM24CM01P_Read(EEPROM_IM24CM01P_ID,EEPROM_ATT_A_EN_30G2_29_5_30Ghz,&ATT_A_EN_30G2_29_5_30Ghz_Table.Atten_Table_31_5dB_Value ,sizeof(Atten_Table_Value_t));
  23. EEPROM_IM24CM01P_Read(EEPROM_IM24CM01P_ID,EEPROM_ATT_A_EN_30G3_29_5_30Ghz,&ATT_A_EN_30G3_29_5_30Ghz_Table.Atten_Table_31_5dB_Value ,sizeof(Atten_Table_Value_t));
  24. EEPROM_IM24CM01P_Read(EEPROM_IM24CM01P_ID,EEPROM_ATT_B_EN_150M ,&ATT_B_EN_150M_Table.Atten_Table_31_5dB_Value ,sizeof(Atten_Table_Value_t));
  25. EEPROM_IM24CM01P_Read(EEPROM_IM24CM01P_ID,EEPROM_ATT_B_EN_WIFI1_2_4Ghz ,&ATT_B_EN_WIFI1_2_4Ghz_Table.Atten_Table_31_5dB_Value ,sizeof(Atten_Table_Value_t));
  26. EEPROM_IM24CM01P_Read(EEPROM_IM24CM01P_ID,EEPROM_ATT_B_EN_WIFI2_2_4Ghz ,&ATT_B_EN_WIFI2_2_4Ghz_Table.Atten_Table_31_5dB_Value ,sizeof(Atten_Table_Value_t));
  27. EEPROM_IM24CM01P_Read(EEPROM_IM24CM01P_ID,EEPROM_ATT_B_EN_WIFI3_2_4Ghz ,&ATT_B_EN_WIFI3_2_4Ghz_Table.Atten_Table_31_5dB_Value ,sizeof(Atten_Table_Value_t));
  28. EEPROM_IM24CM01P_Read(EEPROM_IM24CM01P_ID,EEPROM_ATT_B_EN_WIFI4_2_4Ghz ,&ATT_B_EN_WIFI4_2_4Ghz_Table.Atten_Table_31_5dB_Value ,sizeof(Atten_Table_Value_t));
  29. EEPROM_IM24CM01P_Read(EEPROM_IM24CM01P_ID,EEPROM_ATT_B_EN_WIFI1_5_8Ghz ,&ATT_B_EN_WIFI1_5_8Ghz_Table.Atten_Table_31_5dB_Value ,sizeof(Atten_Table_Value_t));
  30. EEPROM_IM24CM01P_Read(EEPROM_IM24CM01P_ID,EEPROM_ATT_B_EN_WIFI2_5_8Ghz ,&ATT_B_EN_WIFI2_5_8Ghz_Table.Atten_Table_31_5dB_Value ,sizeof(Atten_Table_Value_t));
  31. EEPROM_IM24CM01P_Read(EEPROM_IM24CM01P_ID,EEPROM_ATT_B_EN_WIFI3_5_8Ghz ,&ATT_B_EN_WIFI3_5_8Ghz_Table.Atten_Table_31_5dB_Value ,sizeof(Atten_Table_Value_t));
  32. EEPROM_IM24CM01P_Read(EEPROM_IM24CM01P_ID,EEPROM_ATT_B_EN_WIFI4_5_8Ghz ,&ATT_B_EN_WIFI4_5_8Ghz_Table.Atten_Table_31_5dB_Value ,sizeof(Atten_Table_Value_t));
  33. EEPROM_IM24CM01P_Read(EEPROM_IM24CM01P_ID,EEPROM_ATT_B_EN_30G1_28_28_5Ghz,&ATT_B_EN_30G1_28_28_5Ghz_Table.Atten_Table_31_5dB_Value ,sizeof(Atten_Table_Value_t));
  34. EEPROM_IM24CM01P_Read(EEPROM_IM24CM01P_ID,EEPROM_ATT_B_EN_30G2_28_28_5Ghz,&ATT_B_EN_30G2_28_28_5Ghz_Table.Atten_Table_31_5dB_Value ,sizeof(Atten_Table_Value_t));
  35. EEPROM_IM24CM01P_Read(EEPROM_IM24CM01P_ID,EEPROM_ATT_B_EN_30G3_28_28_5Ghz,&ATT_B_EN_30G3_28_28_5Ghz_Table.Atten_Table_31_5dB_Value ,sizeof(Atten_Table_Value_t));
  36. EEPROM_IM24CM01P_Read(EEPROM_IM24CM01P_ID,EEPROM_ATT_B_EN_30G1_28_5_29Ghz,&ATT_B_EN_30G1_28_5_29Ghz_Table.Atten_Table_31_5dB_Value ,sizeof(Atten_Table_Value_t));
  37. EEPROM_IM24CM01P_Read(EEPROM_IM24CM01P_ID,EEPROM_ATT_B_EN_30G2_28_5_29Ghz,&ATT_B_EN_30G2_28_5_29Ghz_Table.Atten_Table_31_5dB_Value ,sizeof(Atten_Table_Value_t));
  38. EEPROM_IM24CM01P_Read(EEPROM_IM24CM01P_ID,EEPROM_ATT_B_EN_30G3_28_5_29Ghz,&ATT_B_EN_30G3_28_5_29Ghz_Table.Atten_Table_31_5dB_Value ,sizeof(Atten_Table_Value_t));
  39. EEPROM_IM24CM01P_Read(EEPROM_IM24CM01P_ID,EEPROM_ATT_B_EN_30G1_29_29_5Ghz,&ATT_B_EN_30G1_29_29_5Ghz_Table.Atten_Table_31_5dB_Value ,sizeof(Atten_Table_Value_t));
  40. EEPROM_IM24CM01P_Read(EEPROM_IM24CM01P_ID,EEPROM_ATT_B_EN_30G2_29_29_5Ghz,&ATT_B_EN_30G2_29_29_5Ghz_Table.Atten_Table_31_5dB_Value ,sizeof(Atten_Table_Value_t));
  41. EEPROM_IM24CM01P_Read(EEPROM_IM24CM01P_ID,EEPROM_ATT_B_EN_30G3_29_29_5Ghz,&ATT_B_EN_30G3_29_29_5Ghz_Table.Atten_Table_31_5dB_Value ,sizeof(Atten_Table_Value_t));
  42. EEPROM_IM24CM01P_Read(EEPROM_IM24CM01P_ID,EEPROM_ATT_B_EN_30G1_29_5_30Ghz,&ATT_B_EN_30G1_29_5_30Ghz_Table.Atten_Table_31_5dB_Value ,sizeof(Atten_Table_Value_t));
  43. EEPROM_IM24CM01P_Read(EEPROM_IM24CM01P_ID,EEPROM_ATT_B_EN_30G2_29_5_30Ghz,&ATT_B_EN_30G2_29_5_30Ghz_Table.Atten_Table_31_5dB_Value ,sizeof(Atten_Table_Value_t));
  44. EEPROM_IM24CM01P_Read(EEPROM_IM24CM01P_ID,EEPROM_ATT_B_EN_30G3_29_5_30Ghz,&ATT_B_EN_30G3_29_5_30Ghz_Table.Atten_Table_31_5dB_Value ,sizeof(Atten_Table_Value_t));
  45. EEPROM_IM24CM01P_Read(EEPROM_IM24CM01P_ID,EEPROM_ATT_A_CH_150M ,&Atten_Setting.ATT_A_CH_150M ,1);
  46. EEPROM_IM24CM01P_Read(EEPROM_IM24CM01P_ID,EEPROM_ATT_A_CH_WIFI2_4Ghz ,&Atten_Setting.ATT_A_CH_WIFI2_4Ghz_PE43711_1 ,EEPROM_ATTEN_CURR_ST_LEN);
  47. EEPROM_IM24CM01P_Read(EEPROM_IM24CM01P_ID,EEPROM_ATT_A_CH_WIFI5_8Ghz ,&Atten_Setting.ATT_A_CH_WIFI5_8Ghz_PE43711_1 ,EEPROM_ATTEN_CURR_ST_LEN);
  48. EEPROM_IM24CM01P_Read(EEPROM_IM24CM01P_ID,EEPROM_ATT_A_CH_30G_28_28_5,&Atten_Setting.ATT_A_CH_30G_28_28_5_HMC939_1 ,EEPROM_ATTEN_CURR_ST_LEN - 1);
  49. EEPROM_IM24CM01P_Read(EEPROM_IM24CM01P_ID,EEPROM_ATT_A_CH_30G_28_5_29,&Atten_Setting.ATT_A_CH_30G_28_5_29_HMC939_1 ,EEPROM_ATTEN_CURR_ST_LEN - 1);
  50. EEPROM_IM24CM01P_Read(EEPROM_IM24CM01P_ID,EEPROM_ATT_A_CH_30G_29_29_5,&Atten_Setting.ATT_A_CH_30G_29_29_5_HMC939_1 ,EEPROM_ATTEN_CURR_ST_LEN - 1);
  51. EEPROM_IM24CM01P_Read(EEPROM_IM24CM01P_ID,EEPROM_ATT_A_CH_30G_29_5_30,&Atten_Setting.ATT_A_CH_30G_29_5_30_HMC939_1 ,EEPROM_ATTEN_CURR_ST_LEN - 1);
  52. EEPROM_IM24CM01P_Read(EEPROM_IM24CM01P_ID,EEPROM_ATT_B_CH_150M ,&Atten_Setting.ATT_B_CH_150M ,1);
  53. EEPROM_IM24CM01P_Read(EEPROM_IM24CM01P_ID,EEPROM_ATT_B_CH_WIFI2_4Ghz ,&Atten_Setting.ATT_B_CH_WIFI2_4Ghz_PE43711_1 ,EEPROM_ATTEN_CURR_ST_LEN);
  54. EEPROM_IM24CM01P_Read(EEPROM_IM24CM01P_ID,EEPROM_ATT_B_CH_WIFI5_8Ghz ,&Atten_Setting.ATT_B_CH_WIFI5_8Ghz_PE43711_1 ,EEPROM_ATTEN_CURR_ST_LEN);
  55. EEPROM_IM24CM01P_Read(EEPROM_IM24CM01P_ID,EEPROM_ATT_B_CH_30G_28_28_5,&Atten_Setting.ATT_B_CH_30G_28_28_5_HMC939_1 ,EEPROM_ATTEN_CURR_ST_LEN - 1);
  56. EEPROM_IM24CM01P_Read(EEPROM_IM24CM01P_ID,EEPROM_ATT_B_CH_30G_28_5_29,&Atten_Setting.ATT_B_CH_30G_28_5_29_HMC939_1 ,EEPROM_ATTEN_CURR_ST_LEN - 1);
  57. EEPROM_IM24CM01P_Read(EEPROM_IM24CM01P_ID,EEPROM_ATT_B_CH_30G_29_29_5,&Atten_Setting.ATT_B_CH_30G_29_29_5_HMC939_1 ,EEPROM_ATTEN_CURR_ST_LEN - 1);
  58. EEPROM_IM24CM01P_Read(EEPROM_IM24CM01P_ID,EEPROM_ATT_B_CH_30G_29_5_30,&Atten_Setting.ATT_B_CH_30G_29_5_30_HMC939_1 ,EEPROM_ATTEN_CURR_ST_LEN - 1);
  59. EEPROM_IM24CM01P_Read(EEPROM_IM24CM01P_ID,EEPROM_ATT_A_CH_CURR_150M ,&ATT_Curr_Value.ATT_A_CH_CURR_150M ,1);
  60. EEPROM_IM24CM01P_Read(EEPROM_IM24CM01P_ID,EEPROM_ATT_A_CH_CURR_WIFI ,&ATT_Curr_Value.ATT_A_CH_CURR_WIFI_1 ,EEPROM_ATTEN_CURR_ST_LEN);
  61. EEPROM_IM24CM01P_Read(EEPROM_IM24CM01P_ID,EEPROM_ATT_A_CH_CURR_30G ,&ATT_Curr_Value.ATT_A_CH_CURR_30G_1 ,EEPROM_ATTEN_CURR_ST_LEN - 1);
  62. EEPROM_IM24CM01P_Read(EEPROM_IM24CM01P_ID,EEPROM_ATT_B_CH_CURR_150M ,&ATT_Curr_Value.ATT_B_CH_CURR_150M ,1);
  63. EEPROM_IM24CM01P_Read(EEPROM_IM24CM01P_ID,EEPROM_ATT_B_CH_CURR_WIFI ,&ATT_Curr_Value.ATT_B_CH_CURR_WIFI_1 ,EEPROM_ATTEN_CURR_ST_LEN);
  64. EEPROM_IM24CM01P_Read(EEPROM_IM24CM01P_ID,EEPROM_ATT_B_CH_CURR_30G ,&ATT_Curr_Value.ATT_B_CH_CURR_30G_1 ,EEPROM_ATTEN_CURR_ST_LEN - 1);
  65. }
  66. HAL_StatusTypeDef EEPROM_IM24CM01P_write(uint16_t devid,uint16_t Address,uint8_t* data,uint8_t size){
  67. HAL_StatusTypeDef ret = HAL_ERROR;
  68. ret = HAL_I2C_Mem_Write(&hi2c3, devid, Address, I2C_MEMADD_SIZE_16BIT, data, size, 10);
  69. HAL_Delay(5);
  70. return ret;
  71. }
  72. HAL_StatusTypeDef EEPROM_IM24CM01P_Read(uint16_t devid,uint16_t Address,uint8_t* data,uint8_t size){
  73. HAL_StatusTypeDef ret = HAL_ERROR;
  74. ret = HAL_I2C_Mem_Read(&hi2c3, devid, Address, I2C_MEMADD_SIZE_16BIT, data, size, 10);
  75. HAL_Delay(5);
  76. return ret;
  77. }