#include <stdlib.h>
#include "board.h"
#include "ioutil.h"
#include "i2c.h"
#include "sensors/tsl2550.h"
#include "hif.h"
#include "xmpl.h"
bool do_measure;
bool process_command(int chr);
void xmpl_init(void)
{
#if HIF_TYPE == HIF_AT90USB
do
{
}
while (EOF == inchar);
#endif
}
int main(void)
{
uint8_t rv, adc0, adc1;
uint16_t lv_f;
int chr;
xmpl_init();
PRINTF(
"\n\rTSL2550 Light Sensor Example : %s : %ld bit/s\n\r",
BOARD_NAME, HIF_DEFAULT_BAUDRATE);
rv = tsl2550_init();
if (rv == 0)
{
}
else
{
}
do_measure = 1;
while (1)
{
if (chr != -1)
{
do_measure = process_command(chr);
}
if (do_measure)
{
if ( TSL2550_ADC_VALID(adc0) && TSL2550_ADC_VALID(adc1))
{
PRINTF(
"adc0: 0x%02x adc1: 0x%02x E[lux]: %d\n", adc0, adc1, lv_f);
}
else
{
PRINTF(
"err adc0: 0x%02x adc1: 0x%02x\n", adc0, adc1);
}
WAIT_MS(1000);
}
}
}
bool process_command(int chr)
{
bool rv = 0;
if (chr == 'p')
{
}
else if (chr == 'P')
{
}
else if (chr == 'e')
{
PRINT(
"use ext. range\n");
}
else if (chr == 's')
{
PRINT(
"use std. range\n");
}
else if (chr == 'm' || chr == ' ')
{
PRINT(
"run measurement\n");
rv = 1;
}
else if (chr == 'h')
{
"p - power down\n"\
"P - power up\n"\
"e - use ext. range\n"\
"s - use std. range\n"\
"m - run measurement\n"
);
}
return rv;
}