|
@@ -14,6 +14,7 @@
|
14
|
14
|
|
15
|
15
|
/* Includes ------------------------------------------------------------------*/
|
16
|
16
|
HAL_StatusTypeDef EEPROM_M24C08_ByteRead(uint16_t devid,uint16_t Address,uint8_t* data,uint8_t size);
|
|
17
|
+#define MAXEEPROM_LENG 32
|
17
|
18
|
|
18
|
19
|
|
19
|
20
|
extern BLUESTATUS_st bluecell_Currdatastatus;
|
|
@@ -37,6 +38,63 @@ typedef enum{
|
37
|
38
|
Test_UL3 = 0,
|
38
|
39
|
Test_UL4 = 0,
|
39
|
40
|
};
|
|
41
|
+#define EEPROM_ADDRESS_M24C08_BLOCK0 0xA0
|
|
42
|
+#define EEPROM_ADDRESS_M24C08_BLOCK1 0xA2
|
|
43
|
+#define EEPROM_ADDRESS_M24C08_BLOCK2 0xA4
|
|
44
|
+#define EEPROM_ADDRESS_M24C08_BLOCK3 0xA6
|
|
45
|
+#define EEPROM_OK 0
|
|
46
|
+#define EEPROM_FAIL 1
|
|
47
|
+#define EEPROM_TIMEOUT 2
|
|
48
|
+
|
|
49
|
+#define AGC_Table_Ref_INDEX 95
|
|
50
|
+#define ALC_Table_Ref_INDEX 159
|
|
51
|
+__IO uint16_t EEPROMAddress = 0;
|
|
52
|
+__IO uint16_t EEPROMPageSize = 0;
|
|
53
|
+#define EEPROM_MAX_TRIALS 300
|
|
54
|
+static HAL_StatusTypeDef I2Cx_IsDeviceReady(uint16_t DevAddress, uint32_t Trials)
|
|
55
|
+{
|
|
56
|
+ return (HAL_I2C_IsDeviceReady(&hi2c2, DevAddress, Trials, 3000));
|
|
57
|
+}
|
|
58
|
+HAL_StatusTypeDef EEPROM_I2C_IO_IsDeviceReady(uint16_t DevAddress, uint32_t Trials)
|
|
59
|
+{
|
|
60
|
+ return (I2Cx_IsDeviceReady(DevAddress, Trials));
|
|
61
|
+}
|
|
62
|
+
|
|
63
|
+static uint32_t EEPROM_I2C_Init(void)
|
|
64
|
+{
|
|
65
|
+
|
|
66
|
+ /*Select the EEPROM address for M24C32 or M24C64 and check if OK*/
|
|
67
|
+ EEPROMAddress = EEPROM_M24C32_ID;
|
|
68
|
+ EEPROMPageSize = MAXEEPROM_LENG;
|
|
69
|
+ if (EEPROM_I2C_IO_IsDeviceReady(EEPROMAddress, EEPROM_MAX_TRIALS) != HAL_OK)
|
|
70
|
+ {
|
|
71
|
+ EEPROMPageSize = 16;
|
|
72
|
+ /*Select the EEPROM address for M24C08 (BLOCK0) and check if OK*/
|
|
73
|
+ EEPROMAddress = EEPROM_ADDRESS_M24C08_BLOCK0;
|
|
74
|
+ if (EEPROM_I2C_IO_IsDeviceReady(EEPROMAddress, EEPROM_MAX_TRIALS) != HAL_OK)
|
|
75
|
+ {
|
|
76
|
+ /*Select the EEPROM address for M24C08 (BLOCK1) and check if OK*/
|
|
77
|
+ EEPROMAddress = EEPROM_ADDRESS_M24C08_BLOCK1;
|
|
78
|
+ if (EEPROM_I2C_IO_IsDeviceReady(EEPROMAddress, EEPROM_MAX_TRIALS) != HAL_OK)
|
|
79
|
+ {
|
|
80
|
+ /*Select the EEPROM address for M24C08 (BLOCK2) and check if OK*/
|
|
81
|
+ EEPROMAddress = EEPROM_ADDRESS_M24C08_BLOCK2;
|
|
82
|
+ if (EEPROM_I2C_IO_IsDeviceReady(EEPROMAddress, EEPROM_MAX_TRIALS) != HAL_OK)
|
|
83
|
+ {
|
|
84
|
+ /*Select the EEPROM address for M24C08 (BLOCK3) and check if OK*/
|
|
85
|
+ EEPROMAddress = EEPROM_ADDRESS_M24C08_BLOCK3;
|
|
86
|
+ if (EEPROM_I2C_IO_IsDeviceReady(EEPROMAddress, EEPROM_MAX_TRIALS) != HAL_OK)
|
|
87
|
+ {
|
|
88
|
+ return EEPROM_FAIL;
|
|
89
|
+ }
|
|
90
|
+ }
|
|
91
|
+ }
|
|
92
|
+ }
|
|
93
|
+ }
|
|
94
|
+
|
|
95
|
+ return EEPROM_OK;
|
|
96
|
+}
|
|
97
|
+
|
40
|
98
|
void EEPROM_M24C08_Init(void){
|
41
|
99
|
uint8_t* data = 0;
|
42
|
100
|
int16_t DL_Main_Atten[4] = {0,};
|
|
@@ -63,61 +121,59 @@ void EEPROM_M24C08_Init(void){
|
63
|
121
|
|
64
|
122
|
int16_t DL_Shutdown_ThreadHold = 0;
|
65
|
123
|
int16_t UL_Shutdown_ThreadHold = 0;
|
|
124
|
+
|
66
|
125
|
|
67
|
126
|
// DL_High_ThreasHold = bluecell_Currdatastatus.MBIC_ULO_ALC_Atten4_H << 8 | bluecell_Currdatastatus.MBIC_ULO_ALC_Atten4_L;
|
68
|
127
|
// ALC_TEMP[0] = bluecell_Currdatastatus.MBIC_ULO_ALC_Atten1_H << 8 | bluecell_Currdatastatus.MBIC_ULO_ALC_Atten1_L;
|
69
|
128
|
// ALC_TEMP[1] = bluecell_Currdatastatus.MBIC_ULO_ALC_Atten2_H << 8 | bluecell_Currdatastatus.MBIC_ULO_ALC_Atten2_L;
|
70
|
129
|
// ALC_TEMP[2] = bluecell_Currdatastatus.MBIC_ULO_ALC_Atten3_H << 8 | bluecell_Currdatastatus.MBIC_ULO_ALC_Atten3_L;
|
71
|
130
|
// ALC_TEMP[3] = bluecell_Currdatastatus.MBIC_ULO_ALC_Atten4_H << 8 | bluecell_Currdatastatus.MBIC_ULO_ALC_Atten4_L;
|
72
|
|
- EEPROM_M24C08_Read(EEPROM_M24C08_ID,EEPROM_WINDOW_STATUS_ADDRESDS,&bluecell_Currdatastatus.bluecell_header,sizeof(BLUESTATUS_st) );
|
73
|
|
-
|
74
|
|
- EEPROM_M24C08_Read(EEPROM_M24C08_ID,EEPROM_ATT_BASE ,&Att_DL1.Table_0_0_dBm,sizeof(ATT_TABLE_st) );
|
75
|
|
-
|
76
|
|
- EEPROM_M24C08_Read(EEPROM_M24C08_ID,EEPROM_ATT_DL1_TABLE_ADDRESDS,&Att_DL2.Table_0_0_dBm,sizeof(ATT_TABLE_st) );
|
77
|
|
- EEPROM_M24C08_Read(EEPROM_M24C08_ID,EEPROM_ATT_DL2_TABLE_ADDRESDS,&Att_DL3.Table_0_0_dBm,sizeof(ATT_TABLE_st) );
|
78
|
|
- EEPROM_M24C08_Read(EEPROM_M24C08_ID,EEPROM_ATT_DL3_TABLE_ADDRESDS,&Att_DL4.Table_0_0_dBm,sizeof(ATT_TABLE_st) );
|
79
|
|
-
|
80
|
|
- EEPROM_M24C08_Read(EEPROM_M24C08_ID,EEPROM_ATT_DL4_TABLE_ADDRESDS,&Att_UL1.Table_0_0_dBm,sizeof(ATT_TABLE_st) );
|
81
|
|
- EEPROM_M24C08_Read(EEPROM_M24C08_ID,EEPROM_ATT_UL1_TABLE_ADDRESDS,&Att_UL2.Table_0_0_dBm,sizeof(ATT_TABLE_st) );
|
82
|
|
- EEPROM_M24C08_Read(EEPROM_M24C08_ID,EEPROM_ATT_UL2_TABLE_ADDRESDS,&Att_UL3.Table_0_0_dBm,sizeof(ATT_TABLE_st) );
|
83
|
|
- EEPROM_M24C08_Read(EEPROM_M24C08_ID,EEPROM_ATT_UL3_TABLE_ADDRESDS,&Att_UL4.Table_0_0_dBm,sizeof(ATT_TABLE_st) );
|
84
|
|
-
|
85
|
|
- EEPROM_M24C08_Read(EEPROM_M24C08_ID,EEPROM_ATT_UL4_TABLE_ADDRESDS,&Det_DL1.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st) );
|
86
|
|
- EEPROM_M24C08_Read(EEPROM_M24C08_ID,EEPROM_DET_DL1_TABLE_ADDRESDS,&Det_DL2.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st) );
|
87
|
|
- EEPROM_M24C08_Read(EEPROM_M24C08_ID,EEPROM_DET_DL2_TABLE_ADDRESDS,&Det_DL3.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st) );
|
88
|
|
- EEPROM_M24C08_Read(EEPROM_M24C08_ID,EEPROM_DET_DL3_TABLE_ADDRESDS,&Det_DL4.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st) );
|
|
131
|
+ EEPROM_M24C08_Read(EEPROM_M24C32_ID,EEPROM_WINDOW_STATUS_ADDRESDS,&bluecell_Currdatastatus.bluecell_header,sizeof(BLUESTATUS_st) );
|
|
132
|
+
|
|
133
|
+ EEPROM_M24C08_Read(EEPROM_M24C32_ID,EEPROM_ATT_BASE ,&Att_DL1.Table_0_0_dBm,sizeof(ATT_TABLE_st) );
|
|
134
|
+ EEPROM_M24C08_Read(EEPROM_M24C32_ID,EEPROM_ATT_DL1_TABLE_ADDRESDS,&Att_DL2.Table_0_0_dBm,sizeof(ATT_TABLE_st) );
|
|
135
|
+ EEPROM_M24C08_Read(EEPROM_M24C32_ID,EEPROM_ATT_DL2_TABLE_ADDRESDS,&Att_DL3.Table_0_0_dBm,sizeof(ATT_TABLE_st) );
|
|
136
|
+ EEPROM_M24C08_Read(EEPROM_M24C32_ID,EEPROM_ATT_DL3_TABLE_ADDRESDS,&Att_DL4.Table_0_0_dBm,sizeof(ATT_TABLE_st) );
|
|
137
|
+ EEPROM_M24C08_Read(EEPROM_M24C32_ID,EEPROM_ATT_DL4_TABLE_ADDRESDS,&Att_UL1.Table_0_0_dBm,sizeof(ATT_TABLE_st) );
|
|
138
|
+ EEPROM_M24C08_Read(EEPROM_M24C32_ID,EEPROM_ATT_UL1_TABLE_ADDRESDS,&Att_UL2.Table_0_0_dBm,sizeof(ATT_TABLE_st) );
|
|
139
|
+ EEPROM_M24C08_Read(EEPROM_M24C32_ID,EEPROM_ATT_UL2_TABLE_ADDRESDS,&Att_UL3.Table_0_0_dBm,sizeof(ATT_TABLE_st) );
|
|
140
|
+ EEPROM_M24C08_Read(EEPROM_M24C32_ID,EEPROM_ATT_UL3_TABLE_ADDRESDS,&Att_UL4.Table_0_0_dBm,sizeof(ATT_TABLE_st) );
|
|
141
|
+ EEPROM_M24C08_Read(EEPROM_M24C32_ID,EEPROM_ATT_UL4_TABLE_ADDRESDS,&Det_DL1.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st) );
|
|
142
|
+ EEPROM_M24C08_Read(EEPROM_M24C32_ID,EEPROM_DET_DL1_TABLE_ADDRESDS,&Det_DL2.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st) );
|
|
143
|
+ EEPROM_M24C08_Read(EEPROM_M24C32_ID,EEPROM_DET_DL2_TABLE_ADDRESDS,&Det_DL3.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st) );
|
|
144
|
+ EEPROM_M24C08_Read(EEPROM_M24C32_ID,EEPROM_DET_DL3_TABLE_ADDRESDS,&Det_DL4.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st) );
|
89
|
145
|
|
90
|
146
|
uint8_t* tmpdata;
|
91
|
|
- EEPROM_M24C08_Read(EEPROM_M24C08_ID,EEPROM_DET_DL4_TABLE_ADDRESDS,&Det_UL1.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st) );
|
|
147
|
+ EEPROM_M24C08_Read(EEPROM_M24C32_ID,EEPROM_DET_DL4_TABLE_ADDRESDS,&Det_UL1.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st) );
|
92
|
148
|
tmpdata = &Det_UL1.Table_Det_15_dBm_H;
|
93
|
149
|
// for(int i =0; i < sizeof(DET_TABLEUL_st) ; i++){
|
94
|
150
|
// printf("[%d]%f \r\n",i,(tmpdata[i * 2] << 8 | tmpdata[i*2+1])*0.001);
|
95
|
151
|
// }
|
96
|
152
|
// printf("");
|
97
|
|
- EEPROM_M24C08_Read(EEPROM_M24C08_ID,EEPROM_DET_UL1_TABLE_ADDRESDS,&Det_UL2.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st) );
|
|
153
|
+ EEPROM_M24C08_Read(EEPROM_M24C32_ID,EEPROM_DET_UL1_TABLE_ADDRESDS,&Det_UL2.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st) );
|
98
|
154
|
// data = &Det_UL2.Table_Det_15_dBm_H;
|
99
|
155
|
// for(int i = 0; i < sizeof(DET_TABLEUL_st) ; i ++ ){
|
100
|
156
|
// printf("[%d] %x \r\n",i,data[i]);
|
101
|
157
|
// }
|
102
|
|
- EEPROM_M24C08_Read(EEPROM_M24C08_ID,EEPROM_DET_UL2_TABLE_ADDRESDS,&Det_UL3.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st) );
|
|
158
|
+ EEPROM_M24C08_Read(EEPROM_M24C32_ID,EEPROM_DET_UL2_TABLE_ADDRESDS,&Det_UL3.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st) );
|
103
|
159
|
// data = &Det_UL3.Table_Det_15_dBm_H;
|
104
|
160
|
// for(int i = 0; i < sizeof(DET_TABLEUL_st) ; i ++ ){
|
105
|
161
|
// printf("[%d] %x \r\n",i,data[i]);
|
106
|
162
|
// }
|
107
|
|
- EEPROM_M24C08_Read(EEPROM_M24C08_ID,EEPROM_DET_UL3_TABLE_ADDRESDS,&Det_UL4.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st) );
|
108
|
|
-
|
|
163
|
+ EEPROM_M24C08_Read(EEPROM_M24C32_ID,EEPROM_DET_UL3_TABLE_ADDRESDS,&Det_UL4.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st) );
|
109
|
164
|
|
110
|
|
- EEPROM_M24C08_Read(EEPROM_M24C08_ID,EEPROM_DET_UL4_TABLE_ADDRESDS,&Temp_DL1.Table_1_Temp,sizeof(TEMP_TABLE_st) );
|
111
|
|
- EEPROM_M24C08_Read(EEPROM_M24C08_ID,EEPROM_TEMP_DL1_TABLE_ADDRESDS,&Temp_DL2.Table_1_Temp,sizeof(TEMP_TABLE_st) );
|
112
|
|
- EEPROM_M24C08_Read(EEPROM_M24C08_ID,EEPROM_TEMP_DL2_TABLE_ADDRESDS,&Temp_DL3.Table_1_Temp,sizeof(TEMP_TABLE_st) );
|
113
|
|
- EEPROM_M24C08_Read(EEPROM_M24C08_ID,EEPROM_TEMP_DL3_TABLE_ADDRESDS,&Temp_DL4.Table_1_Temp,sizeof(TEMP_TABLE_st) );
|
114
|
165
|
|
|
166
|
+ EEPROM_M24C08_Read(EEPROM_M24C32_ID,EEPROM_DET_UL4_TABLE_ADDRESDS,&Temp_DL1.Table_1_Temp,sizeof(TEMP_TABLE_st) );
|
|
167
|
+ EEPROM_M24C08_Read(EEPROM_M24C32_ID,EEPROM_TEMP_DL1_TABLE_ADDRESDS,&Temp_DL2.Table_1_Temp,sizeof(TEMP_TABLE_st) );
|
|
168
|
+ EEPROM_M24C08_Read(EEPROM_M24C32_ID,EEPROM_TEMP_DL2_TABLE_ADDRESDS,&Temp_DL3.Table_1_Temp,sizeof(TEMP_TABLE_st) );
|
|
169
|
+ EEPROM_M24C08_Read(EEPROM_M24C32_ID,EEPROM_TEMP_DL3_TABLE_ADDRESDS,&Temp_DL4.Table_1_Temp,sizeof(TEMP_TABLE_st) );
|
115
|
170
|
|
116
|
|
- EEPROM_M24C08_Read(EEPROM_M24C08_ID,EEPROM_TEMP_DL4_TABLE_ADDRESDS,&Temp_UL1.Table_1_Temp,sizeof(TEMP_TABLE_st) );
|
117
|
|
- EEPROM_M24C08_Read(EEPROM_M24C08_ID,EEPROM_TEMP_UL1_TABLE_ADDRESDS,&Temp_UL2.Table_1_Temp,sizeof(TEMP_TABLE_st) );
|
118
|
|
- EEPROM_M24C08_Read(EEPROM_M24C08_ID,EEPROM_TEMP_UL2_TABLE_ADDRESDS,&Temp_UL3.Table_1_Temp,sizeof(TEMP_TABLE_st) );
|
119
|
|
- EEPROM_M24C08_Read(EEPROM_M24C08_ID,EEPROM_TEMP_UL3_TABLE_ADDRESDS,&Temp_UL4.Table_1_Temp,sizeof(TEMP_TABLE_st) );
|
120
|
171
|
|
|
172
|
+ EEPROM_M24C08_Read(EEPROM_M24C32_ID,EEPROM_TEMP_DL4_TABLE_ADDRESDS,&Temp_UL1.Table_1_Temp,sizeof(TEMP_TABLE_st) );
|
|
173
|
+ EEPROM_M24C08_Read(EEPROM_M24C32_ID,EEPROM_TEMP_UL1_TABLE_ADDRESDS,&Temp_UL2.Table_1_Temp,sizeof(TEMP_TABLE_st) );
|
|
174
|
+ EEPROM_M24C08_Read(EEPROM_M24C32_ID,EEPROM_TEMP_UL2_TABLE_ADDRESDS,&Temp_UL3.Table_1_Temp,sizeof(TEMP_TABLE_st) );
|
|
175
|
+ EEPROM_M24C08_Read(EEPROM_M24C32_ID,EEPROM_TEMP_UL3_TABLE_ADDRESDS,&Temp_UL4.Table_1_Temp,sizeof(TEMP_TABLE_st) );
|
|
176
|
+ Table_Init();
|
121
|
177
|
#if 0 // PYJ.2020.06.28_BEGIN --
|
122
|
178
|
DL_Main_Atten[Test_DL1] = (bluecell_Currdatastatus.ATT_DL1_H << 8) | bluecell_Currdatastatus.ATT_DL1_L;
|
123
|
179
|
DL_Main_Atten[Test_DL2] = bluecell_Currdatastatus.ATT_DL2_H << 8 | bluecell_Currdatastatus.ATT_DL2_L;
|
|
@@ -184,7 +240,7 @@ void EEPROM_M24C08_Init(void){
|
184
|
240
|
// bluecell_Currdatastatus.CPUVERSION1 = 0;
|
185
|
241
|
// bluecell_Currdatastatus.CPUVERSION2 = 0;
|
186
|
242
|
// bluecell_Currdatastatus.CPUVERSION3 = 8;
|
187
|
|
-#if 1 // PYJ.2020.06.28_BEGIN --
|
|
243
|
+#if 0 // PYJ.2020.06.28_BEGIN --
|
188
|
244
|
|
189
|
245
|
Att_DL1.Table_Ref = ATTENTABLEDL_REF;
|
190
|
246
|
Att_DL2.Table_Ref = ATTENTABLEDL_REF;
|
|
@@ -210,38 +266,38 @@ void EEPROM_M24C08_Init(void){
|
210
|
266
|
Temp_UL2.Table_Ref= ATTENTABLE_TEMP_REF;
|
211
|
267
|
Temp_UL3.Table_Ref= ATTENTABLE_TEMP_REF;
|
212
|
268
|
Temp_UL4.Table_Ref= ATTENTABLE_TEMP_REF;
|
213
|
|
- EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_ATT_BASE ,&Att_DL1.Table_0_0_dBm,sizeof(ATT_TABLE_st) );
|
214
|
|
- EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_ATT_DL1_TABLE_ADDRESDS,&Att_DL2.Table_0_0_dBm,sizeof(ATT_TABLE_st) );
|
215
|
|
- EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_ATT_DL2_TABLE_ADDRESDS,&Att_DL3.Table_0_0_dBm,sizeof(ATT_TABLE_st) );
|
216
|
|
- EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_ATT_DL3_TABLE_ADDRESDS,&Att_DL4.Table_0_0_dBm,sizeof(ATT_TABLE_st) );
|
|
269
|
+ EEPROM_M24C08_write(EEPROM_M24C32_ID,EEPROM_ATT_BASE ,&Att_DL1.Table_0_0_dBm,sizeof(ATT_TABLE_st) );
|
|
270
|
+ EEPROM_M24C08_write(EEPROM_M24C32_ID,EEPROM_ATT_DL1_TABLE_ADDRESDS,&Att_DL2.Table_0_0_dBm,sizeof(ATT_TABLE_st) );
|
|
271
|
+ EEPROM_M24C08_write(EEPROM_M24C32_ID,EEPROM_ATT_DL2_TABLE_ADDRESDS,&Att_DL3.Table_0_0_dBm,sizeof(ATT_TABLE_st) );
|
|
272
|
+ EEPROM_M24C08_write(EEPROM_M24C32_ID,EEPROM_ATT_DL3_TABLE_ADDRESDS,&Att_DL4.Table_0_0_dBm,sizeof(ATT_TABLE_st) );
|
217
|
273
|
|
218
|
|
- EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_ATT_DL4_TABLE_ADDRESDS,&Att_UL1.Table_0_0_dBm,sizeof(ATT_TABLE_st) );
|
219
|
|
- EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_ATT_UL1_TABLE_ADDRESDS,&Att_UL2.Table_0_0_dBm,sizeof(ATT_TABLE_st) );
|
220
|
|
- EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_ATT_UL2_TABLE_ADDRESDS,&Att_UL3.Table_0_0_dBm,sizeof(ATT_TABLE_st) );
|
221
|
|
- EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_ATT_UL3_TABLE_ADDRESDS,&Att_UL4.Table_0_0_dBm,sizeof(ATT_TABLE_st) );
|
|
274
|
+ EEPROM_M24C08_write(EEPROM_M24C32_ID,EEPROM_ATT_DL4_TABLE_ADDRESDS,&Att_UL1.Table_0_0_dBm,sizeof(ATT_TABLE_st) );
|
|
275
|
+ EEPROM_M24C08_write(EEPROM_M24C32_ID,EEPROM_ATT_UL1_TABLE_ADDRESDS,&Att_UL2.Table_0_0_dBm,sizeof(ATT_TABLE_st) );
|
|
276
|
+ EEPROM_M24C08_write(EEPROM_M24C32_ID,EEPROM_ATT_UL2_TABLE_ADDRESDS,&Att_UL3.Table_0_0_dBm,sizeof(ATT_TABLE_st) );
|
|
277
|
+ EEPROM_M24C08_write(EEPROM_M24C32_ID,EEPROM_ATT_UL3_TABLE_ADDRESDS,&Att_UL4.Table_0_0_dBm,sizeof(ATT_TABLE_st) );
|
222
|
278
|
|
223
|
|
- EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_ATT_UL4_TABLE_ADDRESDS,&Det_DL1.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st) );
|
224
|
|
- EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_DET_DL1_TABLE_ADDRESDS,&Det_DL2.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st) );
|
225
|
|
- EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_DET_DL2_TABLE_ADDRESDS,&Det_DL3.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st) );
|
226
|
|
- EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_DET_DL3_TABLE_ADDRESDS,&Det_DL4.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st) );
|
|
279
|
+ EEPROM_M24C08_write(EEPROM_M24C32_ID,EEPROM_ATT_UL4_TABLE_ADDRESDS,&Det_DL1.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st) );
|
|
280
|
+ EEPROM_M24C08_write(EEPROM_M24C32_ID,EEPROM_DET_DL1_TABLE_ADDRESDS,&Det_DL2.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st) );
|
|
281
|
+ EEPROM_M24C08_write(EEPROM_M24C32_ID,EEPROM_DET_DL2_TABLE_ADDRESDS,&Det_DL3.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st) );
|
|
282
|
+ EEPROM_M24C08_write(EEPROM_M24C32_ID,EEPROM_DET_DL3_TABLE_ADDRESDS,&Det_DL4.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st) );
|
227
|
283
|
|
228
|
284
|
|
229
|
|
- EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_DET_DL4_TABLE_ADDRESDS,&Det_UL1.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st) );
|
230
|
|
- EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_DET_UL1_TABLE_ADDRESDS,&Det_UL2.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st) );
|
231
|
|
- EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_DET_UL2_TABLE_ADDRESDS,&Det_UL3.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st) );
|
232
|
|
- EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_DET_UL3_TABLE_ADDRESDS,&Det_UL4.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st) );
|
|
285
|
+ EEPROM_M24C08_write(EEPROM_M24C32_ID,EEPROM_DET_DL4_TABLE_ADDRESDS,&Det_UL1.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st) );
|
|
286
|
+ EEPROM_M24C08_write(EEPROM_M24C32_ID,EEPROM_DET_UL1_TABLE_ADDRESDS,&Det_UL2.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st) );
|
|
287
|
+ EEPROM_M24C08_write(EEPROM_M24C32_ID,EEPROM_DET_UL2_TABLE_ADDRESDS,&Det_UL3.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st) );
|
|
288
|
+ EEPROM_M24C08_write(EEPROM_M24C32_ID,EEPROM_DET_UL3_TABLE_ADDRESDS,&Det_UL4.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st) );
|
233
|
289
|
|
234
|
290
|
|
235
|
|
- EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_DET_UL4_TABLE_ADDRESDS,&Temp_DL1.Table_1_Temp,sizeof(TEMP_TABLE_st) );
|
236
|
|
- EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_TEMP_DL1_TABLE_ADDRESDS,&Temp_DL2.Table_1_Temp,sizeof(TEMP_TABLE_st) );
|
237
|
|
- EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_TEMP_DL2_TABLE_ADDRESDS,&Temp_DL3.Table_1_Temp,sizeof(TEMP_TABLE_st) );
|
238
|
|
- EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_TEMP_DL3_TABLE_ADDRESDS,&Temp_DL4.Table_1_Temp,sizeof(TEMP_TABLE_st) );
|
|
291
|
+ EEPROM_M24C08_write(EEPROM_M24C32_ID,EEPROM_DET_UL4_TABLE_ADDRESDS,&Temp_DL1.Table_1_Temp,sizeof(TEMP_TABLE_st) );
|
|
292
|
+ EEPROM_M24C08_write(EEPROM_M24C32_ID,EEPROM_TEMP_DL1_TABLE_ADDRESDS,&Temp_DL2.Table_1_Temp,sizeof(TEMP_TABLE_st) );
|
|
293
|
+ EEPROM_M24C08_write(EEPROM_M24C32_ID,EEPROM_TEMP_DL2_TABLE_ADDRESDS,&Temp_DL3.Table_1_Temp,sizeof(TEMP_TABLE_st) );
|
|
294
|
+ EEPROM_M24C08_write(EEPROM_M24C32_ID,EEPROM_TEMP_DL3_TABLE_ADDRESDS,&Temp_DL4.Table_1_Temp,sizeof(TEMP_TABLE_st) );
|
239
|
295
|
|
240
|
296
|
|
241
|
|
- EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_TEMP_DL4_TABLE_ADDRESDS,&Temp_UL1.Table_1_Temp,sizeof(TEMP_TABLE_st) );
|
242
|
|
- EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_TEMP_UL1_TABLE_ADDRESDS,&Temp_UL2.Table_1_Temp,sizeof(TEMP_TABLE_st) );
|
243
|
|
- EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_TEMP_UL2_TABLE_ADDRESDS,&Temp_UL3.Table_1_Temp,sizeof(TEMP_TABLE_st) );
|
244
|
|
- EEPROM_M24C08_write(EEPROM_M24C08_ID,EEPROM_TEMP_UL3_TABLE_ADDRESDS,&Temp_UL4.Table_1_Temp,sizeof(TEMP_TABLE_st) );
|
|
297
|
+ EEPROM_M24C08_write(EEPROM_M24C32_ID,EEPROM_TEMP_DL4_TABLE_ADDRESDS,&Temp_UL1.Table_1_Temp,sizeof(TEMP_TABLE_st) );
|
|
298
|
+ EEPROM_M24C08_write(EEPROM_M24C32_ID,EEPROM_TEMP_UL1_TABLE_ADDRESDS,&Temp_UL2.Table_1_Temp,sizeof(TEMP_TABLE_st) );
|
|
299
|
+ EEPROM_M24C08_write(EEPROM_M24C32_ID,EEPROM_TEMP_UL2_TABLE_ADDRESDS,&Temp_UL3.Table_1_Temp,sizeof(TEMP_TABLE_st) );
|
|
300
|
+ EEPROM_M24C08_write(EEPROM_M24C32_ID,EEPROM_TEMP_UL3_TABLE_ADDRESDS,&Temp_UL4.Table_1_Temp,sizeof(TEMP_TABLE_st) );
|
245
|
301
|
|
246
|
302
|
#endif // PYJ.2020.06.28_END --
|
247
|
303
|
|
|
@@ -276,13 +332,13 @@ void eepromtest(){
|
276
|
332
|
memset(&eepdata[0],0x33,100);
|
277
|
333
|
for(int i = 0; i < 100; i ++ ){
|
278
|
334
|
printf("data[%d] : %x \r\n",i,eepdata[i]);
|
279
|
|
- EEPROM_M24C08_Bytewrite(EEPROM_M24C08_ID,EEPROM_ATT_BASE + i,&eepdata[i],1);
|
|
335
|
+ EEPROM_M24C08_Bytewrite(EEPROM_M24C32_ID,EEPROM_ATT_BASE + i,&eepdata[i],1);
|
280
|
336
|
}
|
281
|
337
|
for(int i = 0; i < 100; i ++ ){
|
282
|
|
- EEPROM_M24C08_ByteRead(EEPROM_M24C08_ID,EEPROM_ATT_BASE + i,&eepdata[i],1);
|
|
338
|
+ EEPROM_M24C08_ByteRead(EEPROM_M24C32_ID,EEPROM_ATT_BASE + i,&eepdata[i],1);
|
283
|
339
|
printf("data[%d] : %x \r\n",i,eepdata[i]);
|
284
|
340
|
}
|
285
|
|
-// EEPROM_M24C08_Read(EEPROM_M24C08_ID,EEPROM_ATT_BASE,&eepdata[0],100);
|
|
341
|
+// EEPROM_M24C08_Read(EEPROM_M24C32_ID,EEPROM_ATT_BASE,&eepdata[0],100);
|
286
|
342
|
// for(int i = 0; i < 100; i ++ ){
|
287
|
343
|
// printf("data[%d] : %x \r\n",i,eepdata[i]);
|
288
|
344
|
// }
|
|
@@ -290,12 +346,13 @@ void eepromtest(){
|
290
|
346
|
}
|
291
|
347
|
#endif // PYJ.2020.04.23_END --
|
292
|
348
|
|
293
|
|
-#define MAXEEPROM_LENG 32
|
|
349
|
+
|
294
|
350
|
|
295
|
351
|
HAL_StatusTypeDef EEPROM_M24C08_Read(uint8_t devid,uint16_t Address,uint8_t* data,uint16_t size){
|
296
|
352
|
HAL_StatusTypeDef ret = HAL_ERROR;
|
297
|
353
|
uint8_t sizecnt = 0,sizeremain = 0;
|
298
|
354
|
uint16_t addrees_inc = 0;
|
|
355
|
+
|
299
|
356
|
sizecnt = size /MAXEEPROM_LENG;
|
300
|
357
|
sizeremain = size % MAXEEPROM_LENG;
|
301
|
358
|
addrees_inc = 0;
|
|
@@ -305,6 +362,7 @@ HAL_StatusTypeDef EEPROM_M24C08_Read(uint8_t devid,uint16_t Address,uint8_t* dat
|
305
|
362
|
// uint16_t addrees_inc = 0;
|
306
|
363
|
// ret = HAL_I2C_Mem_Read(&hi2c2, devid | ((Address & 0x0300) >> 7),((Address )), I2C_MEMADD_SIZE_8BIT, &data[0], size, 1024);
|
307
|
364
|
|
|
365
|
+ EEPROM_I2C_Init();
|
308
|
366
|
|
309
|
367
|
#if 1 // PYJ.2020.06.28_BEGIN --
|
310
|
368
|
ret = HAL_I2C_Mem_Read(&hi2c2, devid ,((Address )), I2C_MEMADD_SIZE_16BIT, &data[0], size, 0xFFFF);
|
|
@@ -329,7 +387,7 @@ HAL_StatusTypeDef EEPROM_M24C08_Read(uint8_t devid,uint16_t Address,uint8_t* dat
|
329
|
387
|
#endif // PYJ.2020.06.28_END --
|
330
|
388
|
|
331
|
389
|
|
332
|
|
-// HAL_Delay(20);
|
|
390
|
+ HAL_Delay(20);
|
333
|
391
|
|
334
|
392
|
return ret;
|
335
|
393
|
}
|
|
@@ -340,6 +398,7 @@ HAL_StatusTypeDef EEPROM_M24C08_write(uint8_t devid,uint16_t Address,uint8_t* da
|
340
|
398
|
sizecnt = size /MAXEEPROM_LENG;
|
341
|
399
|
sizeremain = size % MAXEEPROM_LENG;
|
342
|
400
|
addrees_inc = 0;
|
|
401
|
+ EEPROM_I2C_Init();
|
343
|
402
|
#if 0 // PYJ.2020.04.25_BEGIN --
|
344
|
403
|
for(int i = 0 ; i <sizecnt; i++ ){
|
345
|
404
|
addrees_inc = i * 16;
|
|
@@ -361,12 +420,15 @@ HAL_StatusTypeDef EEPROM_M24C08_write(uint8_t devid,uint16_t Address,uint8_t* da
|
361
|
420
|
if(sizecnt > 0){
|
362
|
421
|
for(int i = 0 ; i < sizecnt; i++ ){
|
363
|
422
|
addrees_inc = i * MAXEEPROM_LENG;
|
364
|
|
- ret = HAL_I2C_Mem_Write(&hi2c2, devid ,((Address + addrees_inc) & 0xFFFF) , I2C_MEMADD_SIZE_16BIT, &data[addrees_inc], MAXEEPROM_LENG, 1024);
|
|
423
|
+
|
|
424
|
+
|
|
425
|
+ EEPROM_I2C_Init();
|
|
426
|
+ ret = HAL_I2C_Mem_Write(&hi2c2, devid ,((Address + addrees_inc) & 0xFFFF) , I2C_MEMADD_SIZE_16BIT, &data[addrees_inc], MAXEEPROM_LENG, 0xFFFF);
|
|
427
|
+ HAL_Delay(20);
|
365
|
428
|
|
366
|
429
|
if(ret == HAL_ERROR)
|
367
|
430
|
printf("Write ERR\r\n");
|
368
|
431
|
|
369
|
|
- HAL_Delay(20);
|
370
|
432
|
}
|
371
|
433
|
addrees_inc += MAXEEPROM_LENG;
|
372
|
434
|
}
|