mark, we were running out of pins. we should have had a separate PTT input and another T/R line as an output. But I had to make do with a single line. This is quite confusing and i had to keep reminding myself of the plan. the plan is like this: 1. In SSB mode, the PTT line is in input mode. it has an internal 10K resistor pulling it up. The ptt switch provides the high/low switching. 2. In CW mode, the PTT line is put into output mode and pulled down, putting the transceiver into transmit mode. Then, after a delay to let the relays settle, the sidetone is keyed. - f On Mon, Jan 20, 2014 at 9:47 PM, Mark G0MGX <mark.g0mgx@xxxxxxxxx> wrote: > Hi Gang > > At the risk of getting flamed (again) I have been muddling over the PTT > part of the schematic and the main T/R relay control and provide the > following to enable other to understand the workings of this bit.... > > The top of D3 must be connected to +12 and Q24 pulls the other side of the > relay coil to ground when the base is high. This is pulled high by the 2.2K > resistor. So far so good. Now, Q23 then pulls the base of Q24 to ground > when it's base is high - following so far? > > So, it seems that in RX mode the base (via the 4K7) of Q23 must be high > and in TX the base must be grounded - we can see this is the case from the > PTT switch which does the grounding in TX. So how is this line held to a > HIGH state when in RX mode? > > Looking at the code we see: > > #define TX_RX (3) > > this just defines the constant TX_RX to have value 3 - which says we are > using pin 3 on the Arduino Uno board which is pin 5 of the processor. > > then we see: > > pinMode(TX_RX, INPUT); > > so this pin is being used as an input and will therefore read HIGH (equal > to 1) or LOW (equal to 0) when using the digitalRead(TX_RX) command in > Arduino. > > a few lines later in the code we see: > > digitalWrite(TX_RX, 1); //old way to enable the built-in pull-ups > > This instruction enables the internal pull-up on the Arduino pin 3; this > is the software equivelant to an external pull up resistor on that line > i.e. it is HIGH by default when no connection. > > Hence the base of Q23 is pulled HIGH in software and will be taken LOW by > pressing the PTT switch...... > > Simples! > > Mark > G0MGX > > > >