tone-generator/indicator.cpp

27 lines
477 B
C++
Raw Normal View History

2024-08-25 18:22:48 +10:00
#include <Arduino.h>
#include "indicator.hpp"
#include "tones.hpp"
2024-08-31 01:53:25 +10:00
constexpr int PIN = 9;
2024-08-25 18:22:48 +10:00
void indicator::init() {
2024-08-31 01:53:25 +10:00
pinMode(PIN+0, OUTPUT);
pinMode(PIN+1, OUTPUT);
}
void indicator::reset() {
2024-08-31 01:53:25 +10:00
analogWrite(PIN+0, 0);
analogWrite(PIN+1, 0);
2024-08-25 18:22:48 +10:00
}
void indicator::update() {
2024-08-31 01:53:25 +10:00
unsigned v[2] = {2};
2024-08-25 18:22:48 +10:00
for(int i = 0; i < tones::active; i++) {
2024-08-31 01:53:25 +10:00
v[i % 2] += tones::all[i].amplitude;
2024-08-25 18:22:48 +10:00
}
2024-08-31 01:53:25 +10:00
analogWrite(PIN+0, min(v[0], 255));
analogWrite(PIN+1, min(v[1], 255));
2024-08-25 18:22:48 +10:00
}