<...snip>
I get two interesting results:
1): setPowerLevel( n ) == setPowerLevel( n - 16 )
I kind of expected something like this since the data sheet says that the pout formula is -11 dbm + OutputPower but the power range +5 to +20 dbm, leaving open what happens for n < 16.
Welcome to the club. This is a known phenomenon with the HW. The ATC library I mentioned makes the power level setting monotonically increasing if you're using the HW. With the HW you call setPowerLevel with a value from 32 to 51. From the comments in the ATC code:
// the allowable range of power level value, if >31 is: 32 -> 51, where...
// 32->47 use PA2 only and sets powerLevel register 0-15,
// 48->49 uses both PAs, and sets powerLevel register 14-15,
// 50->51 uses both PAs, sets powerBoost, and sets powerLevel register 14-15.
2.) the transmitter seems to function in two "modes". Often RSSI drops by about 20 for no apparent reason. The linear relationship between power level and rssi is otherwise still there so this is extremely strange.
<snip...>
I haven't seen this one...
Tom