Merge remote-tracking branch 'upstream/master'
This commit is contained in:
@@ -256,7 +256,7 @@ void HamShield::softReset() {
|
||||
|
||||
void HamShield::setFrequency(uint32_t freq_khz) {
|
||||
radio_frequency = freq_khz;
|
||||
uint32_t freq_raw = freq_khz << 3; // shift by 3 to multiply by 8
|
||||
uint32_t freq_raw = freq_khz << 4; // shift by 4 to multiply by 16 (was shift by 3 in old 1846 chip)
|
||||
|
||||
// send top 16 bits to A1846S_FREQ_HI_REG
|
||||
uint16_t freq_half = (uint16_t) (0x3FFF & (freq_raw >> 16));
|
||||
@@ -386,7 +386,7 @@ void HamShield::setTX(bool on_noff){
|
||||
setGpioLow(5); // remember that RX and TX are active low
|
||||
// then turn on VREG (PWM output)
|
||||
// then apply RF signal
|
||||
setRfPower(100); // figure out a good default number (or don't set a default)
|
||||
setRfPower(9); // figure out a good default number (or don't set a default)
|
||||
}
|
||||
|
||||
// todo: make sure gpio are set correctly after this
|
||||
@@ -945,19 +945,12 @@ void HamShield::setRfPower(uint8_t pwr) {
|
||||
// (see RF6886 datasheet)
|
||||
// 30 is 0.5V, which is ~min loop reference voltage
|
||||
// 127 is 2.5V, which is ~max loop ref voltage
|
||||
int max_pwr = 255; //167; // 167 is 3.3*255/5 - 1;
|
||||
int max_pwr = 15; //167; // 167 is 3.3*255/5 - 1;
|
||||
if (pwr > max_pwr) {
|
||||
pwr = max_pwr;
|
||||
}
|
||||
|
||||
|
||||
// using open loop reference voltage into Vreg1/2
|
||||
/*int max_pwr = 78; // 78 = 1.58*255/5 - 1
|
||||
if (pwr > max_pwr) {
|
||||
pwr = max_pwr;
|
||||
}*/
|
||||
// using loop ref voltage as specified in RF6886 datasheet
|
||||
// analogWrite(pwr_control_pin, pwr);
|
||||
I2Cdev::writeBitsW(devAddr, A1846S_PABIAS_REG, A1846S_PADRV_BIT, A1846S_PADRV_LENGTH, pwr);
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user