kopia lustrzana https://github.com/OpenRTX/OpenRTX
				
				
				
			Comment AT1846S init from UV380 based on AT1846S programming guide
							rodzic
							
								
									8423efb1b5
								
							
						
					
					
						commit
						f1643a8748
					
				| 
						 | 
				
			
			@ -49,20 +49,22 @@ void AT1846S_init()
 | 
			
		|||
    i2c_writeReg16(0x30, 0x0001);   /* Soft reset              */
 | 
			
		||||
    delayMs(100);
 | 
			
		||||
 | 
			
		||||
    i2c_writeReg16(0x30, 0x0004);
 | 
			
		||||
    i2c_writeReg16(0x30, 0x0004);   // Set pdn_reg (power down pin)
 | 
			
		||||
 | 
			
		||||
    i2c_writeReg16(0x04, 0x0FD0);
 | 
			
		||||
    i2c_writeReg16(0x0A, 0x7C20);
 | 
			
		||||
    i2c_writeReg16(0x04, 0x0FD0);   // Set clk_mode to 25.6MHz/26MHz
 | 
			
		||||
    i2c_writeReg16(0x0A, 0x7C20);   // Set 0x0A to its default value
 | 
			
		||||
    i2c_writeReg16(0x13, 0xA100);
 | 
			
		||||
    i2c_writeReg16(0x1F, 0x1001);
 | 
			
		||||
    i2c_writeReg16(0x1F, 0x1001);   // Set gpio0 to ctcss_out/css_int/css_cmp
 | 
			
		||||
                                    // and gpio6 to sq, sq&ctcss/cdcss when sq_out_set=1
 | 
			
		||||
    i2c_writeReg16(0x31, 0x0031);
 | 
			
		||||
    i2c_writeReg16(0x33, 0x44A5);
 | 
			
		||||
    i2c_writeReg16(0x34, 0x2B89);
 | 
			
		||||
    i2c_writeReg16(0x41, 0x4122);
 | 
			
		||||
    i2c_writeReg16(0x41, 0x4122);   // Set voice_gain_tx (voice digital gain) to 0x22
 | 
			
		||||
    i2c_writeReg16(0x42, 0x1052);
 | 
			
		||||
    i2c_writeReg16(0x43, 0x0100);
 | 
			
		||||
    i2c_writeReg16(0x44, 0x07FF);
 | 
			
		||||
    i2c_writeReg16(0x59, 0x0B90);
 | 
			
		||||
    i2c_writeReg16(0x44, 0x07FF);   // Set gain_tx (voice digital gain after tx ADC downsample) to 0x7
 | 
			
		||||
    i2c_writeReg16(0x59, 0x0B90);   // Set c_dev (CTCSS/CDCSS TX FM deviation) to 0x10
 | 
			
		||||
                                    // and xmitter_dev (voice/subaudio TX FM deviation) to 0x2E
 | 
			
		||||
    i2c_writeReg16(0x47, 0x7F2F);
 | 
			
		||||
    i2c_writeReg16(0x4F, 0x2C62);
 | 
			
		||||
    i2c_writeReg16(0x53, 0x0094);
 | 
			
		||||
| 
						 | 
				
			
			@ -70,27 +72,38 @@ void AT1846S_init()
 | 
			
		|||
    i2c_writeReg16(0x55, 0x0081);
 | 
			
		||||
    i2c_writeReg16(0x56, 0x0B02);
 | 
			
		||||
    i2c_writeReg16(0x57, 0x1C00);
 | 
			
		||||
    i2c_writeReg16(0x58, 0x9CDD);
 | 
			
		||||
    i2c_writeReg16(0x58, 0x9CDD);   // Set ctcss_lpfil_bw to 250Hz bandwidth
 | 
			
		||||
                                    // and bypass ctcss_highpass_filter
 | 
			
		||||
                                    // and bypass ctcss_lowpass_filter
 | 
			
		||||
                                    // and enable void_lowpass_filter
 | 
			
		||||
                                    // and bypass voice_highpass_filter
 | 
			
		||||
                                    // and bypass pre/de-emphasis
 | 
			
		||||
                                    // and bypass vox_highpass_filter
 | 
			
		||||
                                    // and bypass vox_lowpass_filter
 | 
			
		||||
                                    // and enable rssi_lpfil_bw
 | 
			
		||||
    i2c_writeReg16(0x5A, 0x06DB);
 | 
			
		||||
    i2c_writeReg16(0x63, 0x16AD);
 | 
			
		||||
    i2c_writeReg16(0x67, 0x0628);
 | 
			
		||||
    i2c_writeReg16(0x68, 0x05E5);
 | 
			
		||||
    i2c_writeReg16(0x69, 0x0555);
 | 
			
		||||
    i2c_writeReg16(0x6A, 0x04B8);
 | 
			
		||||
    i2c_writeReg16(0x6B, 0x02FE);
 | 
			
		||||
    i2c_writeReg16(0x6C, 0x01DD);
 | 
			
		||||
    i2c_writeReg16(0x6D, 0x00B1);
 | 
			
		||||
    i2c_writeReg16(0x6E, 0x0F82);
 | 
			
		||||
    i2c_writeReg16(0x6F, 0x017A);
 | 
			
		||||
    i2c_writeReg16(0x70, 0x004C);
 | 
			
		||||
    i2c_writeReg16(0x71, 0x0F1D);
 | 
			
		||||
    i2c_writeReg16(0x72, 0x0D91);
 | 
			
		||||
    i2c_writeReg16(0x73, 0x0A3E);
 | 
			
		||||
    i2c_writeReg16(0x74, 0x090F);
 | 
			
		||||
    i2c_writeReg16(0x75, 0x0833);
 | 
			
		||||
    i2c_writeReg16(0x76, 0x0806);
 | 
			
		||||
    i2c_writeReg16(0x67, 0x0628);   // Set DTMF C0 697Hz to ???
 | 
			
		||||
    i2c_writeReg16(0x68, 0x05E5);   // Set DTMF C1 770Hz to 13MHz and 26MHz
 | 
			
		||||
    i2c_writeReg16(0x69, 0x0555);   // Set DTMF C2 852Hz to ???
 | 
			
		||||
    i2c_writeReg16(0x6A, 0x04B8);   // Set DTMF C3 941Hz to ???
 | 
			
		||||
    i2c_writeReg16(0x6B, 0x02FE);   // Set DTMF C4 1209Hz to 13MHz and 26MHz
 | 
			
		||||
    i2c_writeReg16(0x6C, 0x01DD);   // Set DTMF C5 1336Hz
 | 
			
		||||
    i2c_writeReg16(0x6D, 0x00B1);   // Set DTMF C6 1477Hz
 | 
			
		||||
    i2c_writeReg16(0x6E, 0x0F82);   // Set DTMF C7 1633Hz
 | 
			
		||||
    i2c_writeReg16(0x6F, 0x017A);   // Set DTMF C0 2nd harmonic
 | 
			
		||||
    i2c_writeReg16(0x70, 0x004C);   // Set DTMF C1 2nd harmonic
 | 
			
		||||
    i2c_writeReg16(0x71, 0x0F1D);   // Set DTMF C2 2nd harmonic
 | 
			
		||||
    i2c_writeReg16(0x72, 0x0D91);   // Set DTMF C3 2nd harmonic
 | 
			
		||||
    i2c_writeReg16(0x73, 0x0A3E);   // Set DTMF C4 2nd harmonic
 | 
			
		||||
    i2c_writeReg16(0x74, 0x090F);   // Set DTMF C5 2nd harmonic
 | 
			
		||||
    i2c_writeReg16(0x75, 0x0833);   // Set DTMF C6 2nd harmonic
 | 
			
		||||
    i2c_writeReg16(0x76, 0x0806);   // Set DTMF C7 2nd harmonic
 | 
			
		||||
 | 
			
		||||
    i2c_writeReg16(0x30, 0x40A4);
 | 
			
		||||
    i2c_writeReg16(0x30, 0x40A4);   // Set pdn_pin (power down enable)
 | 
			
		||||
                                    // and set rx_on
 | 
			
		||||
                                    // and set mute when rxno
 | 
			
		||||
                                    // and set xtal_mode to 26MHz/13MHz
 | 
			
		||||
    delayMs(100);
 | 
			
		||||
 | 
			
		||||
    i2c_writeReg16(0x30, 0x40A6);   /* Start calibration       */
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Ładowanie…
	
		Reference in New Issue