update code, fix samplerate display, init io
This commit is contained in:
@@ -17,5 +17,6 @@ lib_ldf_mode = deep+
|
|||||||
lib_deps =
|
lib_deps =
|
||||||
adafruit/Adafruit ADS1X15@^2.2.0
|
adafruit/Adafruit ADS1X15@^2.2.0
|
||||||
robtillaart/RunningAverage@^0.4.2
|
robtillaart/RunningAverage@^0.4.2
|
||||||
|
fabianoriccardi/Melody Player@^2.2.2
|
||||||
build_flags =
|
build_flags =
|
||||||
-DCORE_DEBUG_LEVEL=3
|
-DCORE_DEBUG_LEVEL=3
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ void initSerial(void)
|
|||||||
{
|
{
|
||||||
Serial.begin(115200);
|
Serial.begin(115200);
|
||||||
Serial.flush();
|
Serial.flush();
|
||||||
delay(2000);
|
delay(500);
|
||||||
log_i("Init serial: OK");
|
log_i("Init serial: OK");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -9,15 +9,17 @@ c_gainControl mode1000mA(e_measureMode::mA1000, 0, 1, 0, 0, 0, 1); //warning not
|
|||||||
//UC02 > G=1 (met JP5naar 1000mA); UC03 > G=5(met JP7 naar 200mA); UC04 > G=50 (@20mA); UC05 > 1000mA; UC06 > 200mA. Current: niets gekozen = 20mA.
|
//UC02 > G=1 (met JP5naar 1000mA); UC03 > G=5(met JP7 naar 200mA); UC04 > G=50 (@20mA); UC05 > 1000mA; UC06 > 200mA. Current: niets gekozen = 20mA.
|
||||||
|
|
||||||
|
|
||||||
std::vector<c_gainControl> gainList;
|
std::vector<c_gainControl*> gainList;
|
||||||
|
|
||||||
e_measureMode lastGain = e_measureMode::mA20;
|
e_measureMode lastGain = e_measureMode::mA20;
|
||||||
|
|
||||||
void initGainControl(void)
|
void initGainControl(void)
|
||||||
{
|
{
|
||||||
gainList.push_back(mode20mA);
|
gainList.push_back(&mode20mA);
|
||||||
gainList.push_back(mode200mA);
|
gainList.push_back(&mode200mA);
|
||||||
gainList.push_back(mode1000mA);
|
gainList.push_back(&mode1000mA);
|
||||||
|
|
||||||
|
mode20mA.activate();
|
||||||
}
|
}
|
||||||
|
|
||||||
bool setGain(e_measureMode mode)
|
bool setGain(e_measureMode mode)
|
||||||
@@ -30,9 +32,9 @@ bool setGain(e_measureMode mode)
|
|||||||
|
|
||||||
for (auto &&gain : gainList)
|
for (auto &&gain : gainList)
|
||||||
{
|
{
|
||||||
if (gain.getMode() == mode)
|
if (gain->getMode() == mode)
|
||||||
{
|
{
|
||||||
gain.activate();
|
gain->activate();
|
||||||
found = true;
|
found = true;
|
||||||
lastGain = mode;
|
lastGain = mode;
|
||||||
log_i("set new gain %d", mode);
|
log_i("set new gain %d", mode);
|
||||||
@@ -52,7 +54,7 @@ void resetGain(void)
|
|||||||
log_d("reset gain control");
|
log_d("reset gain control");
|
||||||
for (auto &&gain : gainList)
|
for (auto &&gain : gainList)
|
||||||
{
|
{
|
||||||
gain.deactivate();
|
gain->deactivate();
|
||||||
}
|
}
|
||||||
setGain(mA20);
|
setGain(mA20);
|
||||||
}
|
}
|
||||||
@@ -4,6 +4,7 @@
|
|||||||
#include "buttons.h"
|
#include "buttons.h"
|
||||||
#include "display.h"
|
#include "display.h"
|
||||||
#include "gain_control.h"
|
#include "gain_control.h"
|
||||||
|
#include "tone_hall.hpp"
|
||||||
|
|
||||||
uint64_t looptime = 0;
|
uint64_t looptime = 0;
|
||||||
|
|
||||||
@@ -12,6 +13,7 @@ void setup()
|
|||||||
initBoard();
|
initBoard();
|
||||||
initGainControl();
|
initGainControl();
|
||||||
initMeasure();
|
initMeasure();
|
||||||
|
//initTone();
|
||||||
initMeasureMode();
|
initMeasureMode();
|
||||||
initDisplay();
|
initDisplay();
|
||||||
looptime = millis();
|
looptime = millis();
|
||||||
@@ -22,6 +24,7 @@ void loop()
|
|||||||
// put your main code here, to run repeatedly:
|
// put your main code here, to run repeatedly:
|
||||||
looptime = micros();
|
looptime = micros();
|
||||||
handleMeasure();
|
handleMeasure();
|
||||||
|
//handleTone();
|
||||||
handleDisplay();
|
handleDisplay();
|
||||||
setTimer((double)(micros() - looptime)/1000);
|
setTimer((double)(micros() - looptime)/1000);
|
||||||
log_d("T=%4.2fms\n", (double)(micros() - looptime)/1000);
|
log_d("T=%4.2fms\n", (double)(micros() - looptime)/1000);
|
||||||
|
|||||||
@@ -113,9 +113,9 @@ void screenMainDrawLayout(void)
|
|||||||
drawDashedHLine(0, 12, 220);
|
drawDashedHLine(0, 12, 220);
|
||||||
drawDashedVLine(40, 12, 33);
|
drawDashedVLine(40, 12, 33);
|
||||||
getDisplay()->setFont(FONT8);
|
getDisplay()->setFont(FONT8);
|
||||||
uint16_t rate = float(1 / getSampleRate());
|
float rate = getSampleRate();
|
||||||
getDisplay()->setCursor(5, 8);
|
getDisplay()->setCursor(5, 8);
|
||||||
getDisplay()->printf("Fs:%dHz", rate);
|
getDisplay()->printf("Fs:%4.0fHz", rate);
|
||||||
getDisplay()->setCursor(170, 8);
|
getDisplay()->setCursor(170, 8);
|
||||||
getDisplay()->printf("loop=%dms", timer);
|
getDisplay()->printf("loop=%dms", timer);
|
||||||
}
|
}
|
||||||
@@ -127,7 +127,7 @@ void ScreenMainDrawValues(void)
|
|||||||
getDisplay()->printf("%4.3f", getValue());
|
getDisplay()->printf("%4.3f", getValue());
|
||||||
uint16_t stringwidth = getDisplay()->getStrWidth(drawValue("", getValue(), "").c_str());
|
uint16_t stringwidth = getDisplay()->getStrWidth(drawValue("", getValue(), "").c_str());
|
||||||
getDisplay()->setFont(u8g2_font_8x13_t_symbols);
|
getDisplay()->setFont(u8g2_font_8x13_t_symbols);
|
||||||
getDisplay()->drawUTF8(78 + stringwidth + 3, 43, "Ω");
|
getDisplay()->drawUTF8(78 + stringwidth + 4, 43, "Ω");
|
||||||
getDisplay()->setFont(FONT8);
|
getDisplay()->setFont(FONT8);
|
||||||
// getDisplay()->drawUTF8(60 + stringwidth + 3, 43, "v");
|
// getDisplay()->drawUTF8(60 + stringwidth + 3, 43, "v");
|
||||||
|
|
||||||
|
|||||||
21
MilliOhmMeter_FW/src/tone_hall.cpp
Normal file
21
MilliOhmMeter_FW/src/tone_hall.cpp
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
#include "tone_hall.hpp"
|
||||||
|
|
||||||
|
#include <melody_player.h>
|
||||||
|
#include <melody_factory.h>
|
||||||
|
|
||||||
|
|
||||||
|
MelodyPlayer player(BUZZER1, LOW);
|
||||||
|
|
||||||
|
void initTone(void)
|
||||||
|
{
|
||||||
|
String notes[] = { "C4", "G3", "G3", "A3", "G3", "SILENCE", "B3", "C4" };
|
||||||
|
Melody melody = MelodyFactory.load("Nice Melody", 175, notes, 8);
|
||||||
|
player.play(melody);
|
||||||
|
|
||||||
|
player.playAsync(melody);
|
||||||
|
}
|
||||||
|
|
||||||
|
void handleTone(void)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
7
MilliOhmMeter_FW/src/tone_hall.hpp
Normal file
7
MilliOhmMeter_FW/src/tone_hall.hpp
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include "Arduino.h"
|
||||||
|
#include "board.h"
|
||||||
|
|
||||||
|
void initTone(void);
|
||||||
|
void handleTone(void);
|
||||||
Reference in New Issue
Block a user