#define ALEX_TX_ANTENNA_3 0x04000000 // route TX to ANT3
//
+// Anan-7000 in contrast to ANAN-8000 has the TX relays in series (not parallel)
+//
+#define ANAN7000_TX_ANTENNA_1 0x00000000 // K8 off, K11 off, K14 off
+#define ANAN7000_TX_ANTENNA_2 0x03000000 // K8 on, K11 on, K14 off
+#define ANAN7000_TX_ANTENNA_3 0x05000000 // K8 on, K11 off, K14 on
+
// Note: DO NOT SET attenuator bits on ANAN-7000/8000
// since ALEX0(14) is used for a different purpose!
//
chk_data(frame[1],txdrive,"TX DRIVE");
chk_data(frame[2] & 0x3F,hermes_config,"HERMES CONFIG");
chk_data(frame[2] & 0x40, alex_manual,"ALEX manual HPF/LPF");
- chk_data(frame[2] & 0x70, vna ,"VNA mode");
+ chk_data(frame[2] & 0x80, vna ,"VNA mode");
chk_data(frame[3] & 0x1F,alex_hpf,"ALEX HPF");
chk_data(frame[3] & 0x20,alex_bypass,"ALEX Bypass HPFs");
chk_data(frame[3] & 0x40,lna6m,"ALEX 6m LNA");
} else {
i=receiver[0]->alex_antenna;
}
+ if (device == NEW_DEVICE_ORION2) device +=100; // Only valid for ANAN-7000 not ANAN-8000!
switch(i) {
case 0: // ANT 1
alex0|=ALEX_TX_ANTENNA_1;
case 2: // ANT 3
alex0|=ALEX_TX_ANTENNA_3;
break;
+ case 100: //ANT 1 on ANAN-7000
+ alex0|=ANAN7000_TX_ANTENNA_1;
+ break;
+ case 101: //ANT 1 on ANAN-7000
+ alex0|=ANAN7000_TX_ANTENNA_2;
+ break;
+ case 102: //ANT 1 on ANAN-7000
+ alex0|=ANAN7000_TX_ANTENNA_3;
+ break;
default:
- // this should not happen in TX case. Out of paranoia,
+ // If RXing, this means EXT1 etc. is activated, but
+ // we should not arrive here in TX case. Out of paranoia,
// connect ANT1 in this case
if (isTransmitting()) {
fprintf(stderr,"WARNING: illegal TX antenna chosen, using ANT1\n");
transmitter->alex_antenna=0;
- alex0|=ALEX_TX_ANTENNA_1;
+ if (device == NEW_DEVICE_ORION2) {
+ alex0|=ANAN7000_TX_ANTENNA_1;
+ } else {
+ alex0|=ALEX_TX_ANTENNA_1;
+ }
}
break;
}
case 3: // EXT1 (RX2_IN)
output_buffer[C3]|=0xC0;
break;
- case 4: // EXT2 (RX1_IN)
+ case 4: // EXT2 (RX1_IN) (activates ByPass on ANAN-7000)
output_buffer[C3]|=0xA0;
break;
case 5: // XVTR
output_buffer[C3]|=0xE0;
break;
- case 7: // RX Bypass In
- output_buffer[C3]|=0x80;
+ case 7: // Bypass
+ if (device == DEVICE_ORION2) {
+ output_buffer[C3]|=0x20; // works on ANAN-7000
+ } else {
+ output_buffer[C3]|=0x80; // meant to work on ANAN-100/200 with Rev.24 PA board
+ }
break;
default:
// RX1_ANT, RX1_OUT bits remain zero