GY-63_MS5611/libraries/M62429/examples/M62429_demo/M62429_demo.ino

187 lines
3.3 KiB
Arduino
Raw Normal View History

2021-01-29 06:31:58 -05:00
//
// FILE: M62429_demo.ino
// AUTHOR: Rob Tillaart
// PURPOSE: demo volume IC FM62429
// DATE: 2020-08-02
#include "M62429.h"
uint32_t start, stop;
M62429 AMP;
2021-12-21 06:50:11 -05:00
2021-01-29 06:31:58 -05:00
void setup()
{
Serial.begin(115200);
Serial.println(__FILE__);
Serial.println("\nTest takes a ~2 minutes.\n");
AMP.begin(4, 5);
2021-12-21 06:50:11 -05:00
2021-01-29 06:31:58 -05:00
start = millis();
2021-12-21 06:50:11 -05:00
2021-01-29 06:31:58 -05:00
test_channel(0);
test_channel(1);
test_channel(2); // both
test_mute(0);
test_mute(1);
test_average();
2021-12-21 06:50:11 -05:00
2021-01-29 06:31:58 -05:00
stop = millis();
Serial.print("\nTest duration (s) : ");
Serial.println((stop - start) * 0.001);
Serial.println("\nDone...");
}
2021-12-21 06:50:11 -05:00
2021-01-29 06:31:58 -05:00
void loop()
{
}
2021-12-21 06:50:11 -05:00
2021-01-29 06:31:58 -05:00
void test_channel(uint8_t ch)
{
Serial.print(__FUNCTION__);
Serial.print('\t');
Serial.println(ch);
Serial.println("0..max in ~10 seconds");
for (int i = 0; i < 255; i += 10)
{
AMP.setVolume(ch, i);
Serial.print(i); Serial.print(' ');
delay(200);
}
Serial.println();
Serial.println("max..0 in ~10 seconds");
for (int i = 255; i > 0; i -= 10)
{
AMP.setVolume(ch, i);
Serial.print(i); Serial.print(' ');
delay(200);
}
Serial.println();
Serial.println("0..max..0 ");
float v = 1;
float factor = 1.3;
AMP.setVolume(ch, v);
while (v < 255 / factor)
{
AMP.setVolume(ch, v);
v *= factor;
Serial.print(v, 0); Serial.print(' ');
delay(100);
}
while (v > 1)
{
AMP.setVolume(ch, v);
Serial.print(v, 0); Serial.print(' ');
v /= factor;
delay(100);
}
Serial.println();
Serial.println("getVolume()");
for (int i = 0; i < 255; i++)
{
AMP.setVolume(ch, i);
if (AMP.getVolume(ch) != i)
{
Serial.print("FAIL GETVOLUME: ");
Serial.println(i);
}
delay(10);
}
AMP.setVolume(ch, 0);
Serial.println();
Serial.println("incr()");
AMP.setVolume(ch, 0);
for (int i = 0; i < 255; i++)
{
AMP.incr();
delay(10);
}
Serial.println("decr()");
for (int i = 0; i < 255; i++)
{
AMP.decr();
delay(10);
}
AMP.setVolume(2, 0);
Serial.println();
Serial.println();
}
2021-12-21 06:50:11 -05:00
2021-01-29 06:31:58 -05:00
void test_mute(uint8_t ch)
{
Serial.print(__FUNCTION__);
Serial.print('\t');
Serial.println(ch);
Serial.println("mute");
for (int i = 0; i < 255; i++)
{
if (i % 20 == 0) Serial.print('.');
AMP.setVolume(ch, i);
delay(10);
AMP.muteOn();
if (AMP.isMuted() == false)
{
Serial.print("FAIL muteOn(): ");
Serial.println(i);
}
delay(10);
AMP.muteOff();
if (AMP.isMuted() == true)
{
Serial.print("FAIL muteOff(): ");
Serial.println(i);
}
if (AMP.getVolume(ch) != i)
{
Serial.print("FAIL getVolume(): ");
Serial.println(i);
}
delay(10);
}
AMP.setVolume(2, 0);
Serial.println();
Serial.println();
}
2021-12-21 06:50:11 -05:00
2021-01-29 06:31:58 -05:00
void test_average()
{
Serial.println(__FUNCTION__);
Serial.println("average");
for (int i = 0; i < 100; i++)
{
AMP.setVolume(0, random(255));
AMP.setVolume(1, random(255));
Serial.print(AMP.getVolume(0));
Serial.print(" + ");
Serial.print(AMP.getVolume(1));
Serial.print("\t=> ");
delay(100);
AMP.average();
Serial.println(AMP.getVolume(0));
if (AMP.getVolume(0) != AMP.getVolume(1))
{
Serial.println("FAIL average()");
}
delay(100);
}
AMP.setVolume(2, 0);
Serial.println();
Serial.println();
}
2021-12-21 06:50:11 -05:00
2021-01-29 06:31:58 -05:00
// -- END OF FILE --
2021-12-21 06:50:11 -05:00