pwm period is now 200us instead of the default 20ms veml6040 config is now AF_BIT | TRIG_BIT

Dependencies:   mbed MMA8451Q USBDevice WakeUp vt100

Fork of afero_node_suntory_2017_06_15 by Orefatoi

sensors/ToDoQ.cpp

Committer:
wataloh
Date:
2017-01-19
Revision:
1:b2a9a6f2c30e
Parent:
0:20bce0dcc921
Child:
14:b205267fa5f6

File content as of revision 1:b2a9a6f2c30e:

#include "ToDoQ.h"

#include "SensorsMain.hpp"

NAMESPACE_MARUSOLSENSORMANAGER_START

DEF_SELF(ToDoQ);
    
ToDoQ*
ToDoQ::create(onGetTodo callback)
{
    if(self == NULL)
    {
        self = new ToDoQ();
    }
    self->setOnToDo(callback);
    return self;
}

ToDoQ::ToDoQ()
{
    for (int i = 0; i < TODO_QUEUE_SIZE; i++)
    {
        q[i] = NULL;
    }
}

void 
ToDoQ::setOnToDo(onGetTodo callback)
{
    _onGetTodo = callback;    
}
    
void
ToDoQ::loop()
{
    SensorsMain::getInstance()->loop();
    for (int i = 0; i < TODO_QUEUE_SIZE; i++)
    {
        if (q[i] != NULL)
        {
            _onGetTodo(q[i]);
            q[i]=NULL;
            break;
        }
    }
}

void
ToDoQ::_queuePut(ToDo *todo)
{
    SERIAL_PRINT_DBG("ToDoQ::_queuePut entered\n");
    for (int i = 0; i < TODO_QUEUE_SIZE; i++)
    {
        if(q[i] == NULL)
        {
            SERIAL_PRINT_DBG("ToDoQ::_queuePut found empty slot\n");
            q[i] = todo;
            break;
        }
    }
}

void
ToDoQ::queuePut(ToDo *todo)
{
    getInstance<ToDoQ>()->_queuePut(todo);
}

NAMESPACE_MARUSOLSENSORMANAGER_END