Nick,
Rereading all of the posts from you, I believe that you could have an LPF problem.? Either in the selection (not so likely as 30 meters is OK), or in the components, or wiring.? You could check to see if the LPF gets warm on 7.15MHz, though I doubt that would be measurable by hand.
There is also a possibility of an issue with the first mixer, though why only on 40meters does not make sense.? Visually inspect that area of the mainboard as well as the 30MHz LPF that L1 through L4 are used as inductors.? The signal at that point is very low (less than 200millivolts) so it would only be measurable with either an oscilloscope or spectrum analyzer.??
What test equipment do you have?? Maybe an oscilloscope?
I would start with a very close inspection of the 40/30Meter LPF, and verify that the correct relay is bing pulled in when transmitting.? If that checks out, then I would pull one of the toroids and jumper around the filter to see the power into a dummy load.? If there is still an issue, then I am really at a loss as to why only 40meters.
If you have a "T" connector for the coax that you are using, and you have the RF detector for your DVM built, Then you can use the detector to measure the voltage across the dummy load and use the formula from QRP-Labs to get an approximate power reading.? That is what the QRP-Labs dummy load is doing on the circuit boards.
I would not suggest you do any enhancements until this issue is resolved.? Adding changes on top of the existing problem becomes more difficult to resolve.
Here is the section of code where the LPF relays are selected:
========================================================================
void setTXFilters_v5(unsigned long freq){
??
? if (freq > 21000000L){? // the default filter is with 35 MHz cut-off
? ? digitalWrite(TX_LPF_A, 0);
? ? digitalWrite(TX_LPF_B, 0);
? ? digitalWrite(TX_LPF_C, 0);
? }
? else if (freq >= 14000000L){ //thrown the KT1 relay on, the 30 MHz LPF is bypassed and the 14-18 MHz LPF is allowd to go through
? ? digitalWrite(TX_LPF_A, 1);
? ? digitalWrite(TX_LPF_B, 0);
? ? digitalWrite(TX_LPF_C, 0);
? }
? else if (freq > 7000000L){
? ? digitalWrite(TX_LPF_A, 0);
? ? digitalWrite(TX_LPF_B, 1);
? ? digitalWrite(TX_LPF_C, 0);? ??
? }
? else {
? ? digitalWrite(TX_LPF_A, 0);
? ? digitalWrite(TX_LPF_B, 0);
? ? digitalWrite(TX_LPF_C, 1);? ??
? }
}
===============================================================================
From it, you can see that for both 40 and 30 meters KB1 is on and KA1 and KC1 are off.
This is the same code for both the stock and KD8CEC programs.
Hope this helps, and Happy hunting for the bug!
73
Evan
AC9TU