Some more analog read optimizations done - the measurement should be some kind of noise free.

This commit is contained in:
klaute 2016-09-27 16:30:52 +02:00
parent 82a8606616
commit 25114f4350
3 changed files with 24 additions and 8 deletions

View file

@ -201,7 +201,7 @@ void cc_startMeasurement()
si5351.drive_strength(SI5351_CLK0, drive_str); // 2 4 6 8ma si5351.drive_strength(SI5351_CLK0, drive_str); // 2 4 6 8ma
uint8_t t = 0; uint8_t t = 0;
for (t = 0; t < 200; t++) for (t = 0; t < 100; t++)
{ {
uint16_t tmp = analogRead(A0); uint16_t tmp = analogRead(A0);
tmp = analogRead(A1); tmp = analogRead(A1);
@ -225,13 +225,13 @@ void cc_startMeasurement()
uint8_t t = 0; uint8_t t = 0;
uint16_t ta0 = 0; uint16_t ta0 = 0;
uint16_t ta1 = 0; uint16_t ta1 = 0;
for (t = 0; t < 20; t++) for (t = 0; t < MEAS_LOOP_CNT; t++)
{ {
ta0 += analogRead(A0); ta0 += analogRead(A0);
ta1 += analogRead(A1); ta1 += analogRead(A1);
} }
a0_sum += (ta0 / 20); a0_sum += (ta0 / MEAS_LOOP_CNT);
a1_sum += (ta1 / 20); a1_sum += (ta1 / MEAS_LOOP_CNT);
delay(1); delay(1);
} }

View file

@ -21,8 +21,18 @@ enum si5351_drive drive_str = SI5351_DRIVE_2MA;
void setup() void setup()
{ {
pinMode(A0, INPUT); // manage the analog pins
pinMode(A1, INPUT); pinMode(A0, INPUT); // forward SWR measurement
pinMode(A1, INPUT); // backward SWR measurement
pinMode(A2, OUTPUT);
pinMode(A3, OUTPUT);
pinMode(A6, OUTPUT);
pinMode(A7, OUTPUT);
digitalWrite(A2, LOW);
digitalWrite(A3, LOW);
digitalWrite(A6, LOW);
digitalWrite(A7, LOW);
// Init the serial connection // Init the serial connection
Serial.begin(115200); Serial.begin(115200);
@ -39,6 +49,8 @@ void setup()
si5351.output_enable(SI5351_CLK1, 0); // disable clock output 1 si5351.output_enable(SI5351_CLK1, 0); // disable clock output 1
si5351.output_enable(SI5351_CLK2, 0); // disable clock output 2 si5351.output_enable(SI5351_CLK2, 0); // disable clock output 2
analogReference(DEFAULT); // 5V reference
} }
void loop() void loop()
@ -70,4 +82,4 @@ void loop()
delay(100); delay(100);
} }

View file

@ -1,6 +1,10 @@
/*****************************************************************************/ /*****************************************************************************/
#define MEAS_LOOP_CNT 20
/*****************************************************************************/
/* Message byte definitions: */ /* Message byte definitions: */
#define MSG_SOM1 0x3c #define MSG_SOM1 0x3c
#define MSG_SOM2 0x3e #define MSG_SOM2 0x3e
@ -64,4 +68,4 @@
#define CC_READ_DATA_MAX 64 #define CC_READ_DATA_MAX 64
/*****************************************************************************/ /*****************************************************************************/