Sensors are now functioning more-or-less correctly. Calibration isn't quite right, but the basics are correct.
This commit is contained in:
parent
ba744f5b7a
commit
04d5f3ba12
@ -172,11 +172,15 @@ class TrailingAverage {
|
||||
* The new element/value to incorporate into the average.
|
||||
*/
|
||||
inline void add(T val) {
|
||||
int last = (current - 1) % N;
|
||||
average -= data[last];
|
||||
current = (current + 1) % N;
|
||||
data[current] = val;
|
||||
average += data[current] / divisor;
|
||||
//int last = (current - 1) % N;
|
||||
//average -= data[last];
|
||||
//current = (current + 1) % N;
|
||||
//data[current] = val / divisor;
|
||||
//average += data[current];
|
||||
average -= data[current];
|
||||
data[current] = val / divisor;
|
||||
average += data[current];
|
||||
current = (current + 1) % N;
|
||||
}
|
||||
|
||||
/*!
|
||||
@ -237,7 +241,11 @@ class UBitxSensors {
|
||||
* measurements by reading the associated ADC pin.
|
||||
*/
|
||||
void updatePower() {
|
||||
ADC::Sync_result value = adc.analogSyncRead(fwdPwrPin, revPwrPin);
|
||||
static elapsedMillis sincelast = 0;
|
||||
ADC::Sync_result value = adc.analogSyncRead(revPwrPin, fwdPwrPin);
|
||||
|
||||
//value.result_adc0 = adc.analogRead(fwdPwrPin);
|
||||
//value.result_adc1 = adc.analogRead(revPwrPin);
|
||||
|
||||
float fwdV = HF::adcIn(value.result_adc0);
|
||||
float revV = HF::adcIn(value.result_adc1);
|
||||
@ -248,6 +256,15 @@ class UBitxSensors {
|
||||
revV = HF::divIn(revV, uBitxSensorsRevPwrR1, uBitxSensorsRevPwrR2);
|
||||
revV = HF::bridgeFwd(revV);
|
||||
|
||||
if (sincelast > 1000) {
|
||||
sincelast = 0;
|
||||
Serial.print("POWER: ");
|
||||
Serial.print(value.result_adc0); Serial.print(" / ");
|
||||
Serial.print(value.result_adc1); Serial.print(" / ");
|
||||
Serial.print(fwdV, 2); Serial.print(" / ");
|
||||
Serial.println(revV, 2);
|
||||
}
|
||||
|
||||
fwdPwr.add(HF::P(fwdV));
|
||||
revPwr.add(HF::P(revV));
|
||||
vswr.add(HF::VSWR(fwdV, revV));
|
||||
@ -278,7 +295,7 @@ class UBitxSensors {
|
||||
* @return Scaled S-Meter reading.
|
||||
*/
|
||||
int sMeterScaled() {
|
||||
float sig = sMeter.read();
|
||||
int sig = sMeter.read() >> 2;
|
||||
// small number of elements; just doing a linear search
|
||||
for (int i = uBitxSensorsSMeterLevels; i > 0; i--) {
|
||||
if (sig > uBitxSensorsSMeterValues[i - 1]) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user