b15f/firmware/selftest.cpp

70 lines
950 B
C++
Raw Normal View History

2019-03-25 15:15:00 +00:00
#include "selftest.h"
void testAll(void)
{
testBEBA0();
testBEBA1();
testDAC0();
testDAC1();
2019-03-26 07:44:30 +00:00
testMirror();
2019-03-25 15:15:00 +00:00
}
void testBEBA0(void)
{
for(uint8_t i = 0; i < 9; i++)
{
beba0.writePortA(_BV(i));
if(i < 8)
_delay_ms(200);
}
}
void testBEBA1(void)
{
for(uint8_t i = 0; i < 9; i++)
{
beba1.writePortA(_BV(i));
if(i < 8)
_delay_ms(200);
}
}
void testDAC0(void)
{
for(uint16_t i = 0; i < 1024; i++)
{
dac0.setValue(i);
_delay_ms(1);
}
2019-03-26 07:44:30 +00:00
_delay_ms(100);
dac0.setValue(0);
2019-03-25 15:15:00 +00:00
}
void testDAC1(void)
{
for(uint16_t i = 0; i < 1024; i++)
{
dac1.setValue(i);
_delay_ms(1);
}
2019-03-26 07:44:30 +00:00
_delay_ms(100);
dac1.setValue(0);
}
void testMirror()
{
2019-03-26 15:30:49 +00:00
// deaktiviere WDT
wdt_disable();
// Endlosschleife
2019-03-26 07:44:30 +00:00
while(1)
{
dac0.setValue(adu.getValue(0));
dac1.setValue(adu.getValue(1));
beba0.writePortA(beba0.readPortB());
beba1.writePortA(sw.readPortB());
}
2019-03-25 15:15:00 +00:00
}