Set TX Output power in dBm: [-18..+13]dBm in RFM69 W/CW [ -2..+20]dBm in RFM69 HW/HCW
| 297 | // [-18..+13]dBm in RFM69 W/CW |
| 298 | // [ -2..+20]dBm in RFM69 HW/HCW |
| 299 | int8_t RFM69::setPowerDBm(int8_t dBm) { |
| 300 | if (_isRFM69HW) { |
| 301 | //fix any out of bounds |
| 302 | if (dBm < -2) dBm=-2; |
| 303 | else if (dBm>20) dBm=20; |
| 304 | |
| 305 | //map dBm to _powerLevel according to implementation in setPowerLevel() |
| 306 | if (dBm < 12) setPowerLevel(2+dBm); |
| 307 | else if (dBm < 16) setPowerLevel(4+dBm); |
| 308 | else setPowerLevel(3+dBm); |
| 309 | } else { //W/CW |
| 310 | if (dBm < -18) dBm=-18; |
| 311 | else if (dBm > 13) dBm=13; |
| 312 | setPowerLevel(18+dBm); |
| 313 | } |
| 314 | return dBm; |
| 315 | } |
| 316 | |
| 317 | double RFM69::dBm_to_mW(uint8_t dBm) { |
| 318 | return pow(10, (dBm / 10.0)); |
nothing calls this directly
no outgoing calls
no test coverage detected