@@ -183,15 +183,20 @@ void A7105_AdjustLOBaseFreq(uint8_t cmd)
183183 #endif
184184 break ;
185185 case PROTO_BUGS :
186- #ifdef FORCE_HUBSAN_TUNING
187- offset=(int16_t )FORCE_HUBSAN_TUNING ;
186+ #ifdef FORCE_BUGS_TUNING
187+ offset=(int16_t )FORCE_BUGS_TUNING ;
188188 #endif
189189 break ;
190190 case PROTO_FLYSKY :
191191 #ifdef FORCE_FLYSKY_TUNING
192192 offset=(int16_t )FORCE_FLYSKY_TUNING ;
193193 #endif
194194 break ;
195+ case PROTO_FLYZONE :
196+ #ifdef FORCE_FLYZONE_TUNING
197+ offset=(int16_t )FORCE_FLYZONE_TUNING ;
198+ #endif
199+ break ;
195200 case PROTO_AFHDS2A :
196201 #ifdef FORCE_AFHDS2A_TUNING
197202 offset=(int16_t )FORCE_AFHDS2A_TUNING ;
@@ -247,22 +252,6 @@ static void __attribute__((unused)) A7105_SetVCOBand(uint8_t vb1, uint8_t vb2)
247252 A7105_WriteReg (A7105_25_VCO_SBCAL_I , vb2 | 0x08 );
248253}
249254
250- #ifdef HUBSAN_A7105_INO
251- const uint8_t PROGMEM HUBSAN_A7105_regs[] = {
252- 0xFF , 0x63 , 0xFF , 0x0F , 0xFF , 0xFF , 0xFF ,0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0x05 , 0x04 , 0xFF , // 00 - 0f
253- 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0x2B , 0xFF , 0xFF , 0x62 , 0x80 , 0xFF , 0xFF , 0x0A , 0xFF , 0xFF , 0x07 , // 10 - 1f
254- 0x17 , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0x47 , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , // 20 - 2f
255- 0xFF , 0xFF // 30 - 31
256- };
257- #endif
258- #ifdef FLYSKY_A7105_INO
259- const uint8_t PROGMEM FLYSKY_A7105_regs[] = {
260- 0xff , 0x42 , 0x00 , 0x14 , 0x00 , 0xff , 0xff ,0x00 , 0x00 , 0x00 , 0x00 , 0x01 , 0x21 , 0x05 , 0x00 , 0x50 , // 00 - 0f
261- 0x9e , 0x4b , 0x00 , 0x02 , 0x16 , 0x2b , 0x12 , 0x00 , 0x62 , 0x80 , 0x80 , 0x00 , 0x0a , 0x32 , 0xc3 , 0x0f , // 10 - 1f
262- 0x13 , 0xc3 , 0x00 , 0xff , 0x00 , 0x00 , 0x3b , 0x00 , 0x17 , 0x47 , 0x80 , 0x03 , 0x01 , 0x45 , 0x18 , 0x00 , // 20 - 2f
263- 0x01 , 0x0f // 30 - 31
264- };
265- #endif
266255#ifdef AFHDS2A_A7105_INO
267256const uint8_t PROGMEM AFHDS2A_A7105_regs[] = {
268257 0xFF , 0x42 | (1 <<5 ), 0x00 , 0x25 , 0x00 , 0xFF , 0xFF , 0x00 , 0x00 , 0x00 , 0x00 , 0x01 , 0x3c , 0x05 , 0x00 , 0x50 , // 00 - 0f
@@ -279,6 +268,30 @@ const uint8_t PROGMEM BUGS_A7105_regs[] = {
279268 0x01 , 0x0f // 30 - 31
280269};
281270#endif
271+ #ifdef FLYSKY_A7105_INO
272+ const uint8_t PROGMEM FLYSKY_A7105_regs[] = {
273+ 0xff , 0x42 , 0x00 , 0x14 , 0x00 , 0xff , 0xff ,0x00 , 0x00 , 0x00 , 0x00 , 0x01 , 0x21 , 0x05 , 0x00 , 0x50 , // 00 - 0f
274+ 0x9e , 0x4b , 0x00 , 0x02 , 0x16 , 0x2b , 0x12 , 0x00 , 0x62 , 0x80 , 0x80 , 0x00 , 0x0a , 0x32 , 0xc3 , 0x0f , // 10 - 1f
275+ 0x13 , 0xc3 , 0x00 , 0xff , 0x00 , 0x00 , 0x3b , 0x00 , 0x17 , 0x47 , 0x80 , 0x03 , 0x01 , 0x45 , 0x18 , 0x00 , // 20 - 2f
276+ 0x01 , 0x0f // 30 - 31
277+ };
278+ #endif
279+ #ifdef FLYZONE_A7105_INO
280+ const uint8_t PROGMEM FLYZONE_A7105_regs[] = {
281+ 0xff , 0x42 , 0x00 , 0x07 , 0x00 , 0xff , 0xff ,0x00 , 0x00 , 0x00 , 0x00 , 0x01 , 0x21 , 0x05 , 0x01 , 0x50 , // 00 - 0f
282+ 0x9e , 0x4b , 0x00 , 0x02 , 0x16 , 0x2b , 0x12 , 0x00 , 0x62 , 0x80 , 0x80 , 0x00 , 0x0a , 0x32 , 0xc3 , 0x1f , // 10 - 1f
283+ 0x12 , 0x00 , 0x00 , 0xff , 0x00 , 0x00 , 0x3a , 0x00 , 0x3f , 0x47 , 0x80 , 0x03 , 0x01 , 0x45 , 0x18 , 0x00 , // 20 - 2f
284+ 0x01 , 0x0f // 30 - 31
285+ };
286+ #endif
287+ #ifdef HUBSAN_A7105_INO
288+ const uint8_t PROGMEM HUBSAN_A7105_regs[] = {
289+ 0xFF , 0x63 , 0xFF , 0x0F , 0xFF , 0xFF , 0xFF ,0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0x05 , 0x04 , 0xFF , // 00 - 0f
290+ 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0x2B , 0xFF , 0xFF , 0x62 , 0x80 , 0xFF , 0xFF , 0x0A , 0xFF , 0xFF , 0x07 , // 10 - 1f
291+ 0x17 , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0x47 , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , // 20 - 2f
292+ 0xFF , 0xFF // 30 - 31
293+ };
294+ #endif
282295
283296#define ID_NORMAL 0x55201041
284297#define ID_PLUS 0xAA201041
@@ -287,6 +300,14 @@ void A7105_Init(void)
287300 uint8_t *A7105_Regs=0 ;
288301 uint8_t vco_calibration0, vco_calibration1;
289302
303+ #ifdef FLYZONE_A7105_INO
304+ if (protocol==PROTO_FLYZONE )
305+ {
306+ A7105_Regs=(uint8_t *)FLYZONE_A7105_regs;
307+ A7105_WriteID (0x25A53C45 );
308+ }
309+ else
310+ #endif
290311 #ifdef BUGS_A7105_INO
291312 if (protocol==PROTO_BUGS )
292313 A7105_Regs=(uint8_t *)BUGS_A7105_regs;
@@ -360,7 +381,21 @@ void A7105_Init(void)
360381 A7105_SetVCOBand (vco_calibration0 & 0x07 , vco_calibration1 & 0x07 ); // Set calibration band value to best match
361382 else
362383 if (protocol!=PROTO_HUBSAN )
363- A7105_WriteReg (A7105_25_VCO_SBCAL_I ,protocol==PROTO_FLYSKY ?0x08 :0x0A ); // Reset VCO Band calibration
384+ {
385+ switch (protocol)
386+ {
387+ case PROTO_FLYSKY :
388+ vco_calibration1=0x08 ;
389+ break ;
390+ case PROTO_FLYZONE :
391+ vco_calibration1=0x02 ;
392+ break ;
393+ default :
394+ vco_calibration1=0x0A ;
395+ break ;
396+ }
397+ A7105_WriteReg (A7105_25_VCO_SBCAL_I ,vco_calibration1); // Reset VCO Band calibration
398+ }
364399
365400 A7105_SetTxRxMode (TX_EN );
366401 A7105_SetPower ();
0 commit comments