threads: add logging
This commit is contained in:
parent
90656fae95
commit
1a4c09c4ad
@ -6,17 +6,21 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include "ThreadCommon.h"
|
#include "ThreadCommon.h"
|
||||||
|
#include "Log.h"
|
||||||
|
|
||||||
ThreadCommon::QueueManager::QueueManager() {}
|
ThreadCommon::QueueManager::QueueManager() {}
|
||||||
|
|
||||||
bool ThreadCommon::QueueManager::createQueue(size_t queue_length, size_t item_size, Queue_id qid)
|
bool ThreadCommon::QueueManager::createQueue(size_t queue_length, size_t item_size, Queue_id qid)
|
||||||
{
|
{
|
||||||
QueueHandle_t queue_to_create;
|
QueueHandle_t queue_to_create;
|
||||||
|
LOG_DEBUG("Creating queue with id %d", qid);
|
||||||
if ((queue_to_create = xQueueCreate(queue_length, item_size)))
|
if ((queue_to_create = xQueueCreate(queue_length, item_size)))
|
||||||
{
|
{
|
||||||
|
LOG_DEBUG("Queue with id %d has been created", qid);
|
||||||
queues.insert({qid, queue_to_create});
|
queues.insert({qid, queue_to_create});
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
LOG_ERROR("Failed to cerate queue with id %d", qid);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -1,4 +1,5 @@
|
|||||||
#include "ThreadCommon.h"
|
#include "ThreadCommon.h"
|
||||||
|
#include "Log.h"
|
||||||
|
|
||||||
|
|
||||||
ThreadCommon::ThreadManager::ThreadManager(){}
|
ThreadCommon::ThreadManager::ThreadManager(){}
|
||||||
@ -10,12 +11,18 @@ bool ThreadCommon::ThreadManager::createTask(void (*task_func)(void*),
|
|||||||
void* parameters)
|
void* parameters)
|
||||||
{
|
{
|
||||||
const char * t_name = name.c_str();
|
const char * t_name = name.c_str();
|
||||||
|
LOG_DEBUG("Creating task [name: %s, priority: %ld, stack: %ld]",
|
||||||
|
t_name, priority, stack_size);
|
||||||
BaseType_t taskCreated = xTaskCreate(task_func,
|
BaseType_t taskCreated = xTaskCreate(task_func,
|
||||||
t_name,
|
t_name,
|
||||||
stack_size,
|
stack_size,
|
||||||
parameters,
|
parameters,
|
||||||
priority,
|
priority,
|
||||||
NULL);
|
NULL);
|
||||||
assert(taskCreated == pdPASS);
|
if (!(taskCreated == pdPASS))
|
||||||
|
{
|
||||||
|
LOG_ERROR("Failed to create a task [name: %s, priority: %ld, stack: %ld]",
|
||||||
|
t_name, priority, stack_size)
|
||||||
|
}
|
||||||
return (taskCreated == pdPASS);
|
return (taskCreated == pdPASS);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -7,15 +7,17 @@
|
|||||||
|
|
||||||
#include "Manager.h"
|
#include "Manager.h"
|
||||||
#include "ThreadCommon.h"
|
#include "ThreadCommon.h"
|
||||||
|
#include "Log.h"
|
||||||
|
|
||||||
Manager::Manager(ThreadCommon::QueueManager* qm)
|
Manager::Manager(ThreadCommon::QueueManager* qm)
|
||||||
: _qm(qm), _menu{qm}
|
: _qm(qm), _menu{qm}
|
||||||
{
|
{
|
||||||
|
LOG_DEBUG("Creating Manager");
|
||||||
}
|
}
|
||||||
|
|
||||||
Manager::~Manager()
|
Manager::~Manager()
|
||||||
{
|
{
|
||||||
// TODO Auto-generated destructor stub
|
LOG_ERROR("Deleting Manager");
|
||||||
}
|
}
|
||||||
|
|
||||||
Event::EventPair Manager::parseEvent(Event* e)
|
Event::EventPair Manager::parseEvent(Event* e)
|
||||||
@ -32,6 +34,7 @@ Event::EventPair Manager::parseEvent(Event* e)
|
|||||||
return p;
|
return p;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
LOG_WARNING("Event is empty");
|
||||||
return {ERROR_RETURN, Event::Null};
|
return {ERROR_RETURN, Event::Null};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -6,6 +6,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include "Master.h"
|
#include "Master.h"
|
||||||
|
#include "Log.h"
|
||||||
|
|
||||||
static const char* rotary_direction[] =
|
static const char* rotary_direction[] =
|
||||||
{
|
{
|
||||||
@ -17,7 +18,7 @@ static const char* rotary_direction[] =
|
|||||||
|
|
||||||
Master::Master(ThreadCommon::QueueManager* qm) : _qm(qm)
|
Master::Master(ThreadCommon::QueueManager* qm) : _qm(qm)
|
||||||
{
|
{
|
||||||
|
LOG_DEBUG("Creating Master");
|
||||||
}
|
}
|
||||||
|
|
||||||
void Master::HandleEventType(Event* e, Event::EventType type)
|
void Master::HandleEventType(Event* e, Event::EventType type)
|
||||||
@ -29,6 +30,7 @@ void Master::HandleEventType(Event* e, Event::EventType type)
|
|||||||
case Event::Rotary:
|
case Event::Rotary:
|
||||||
//Comes from rotary, goes to manager
|
//Comes from rotary, goes to manager
|
||||||
_qm->send<Event>(ThreadCommon::QueueManager::manager_event_master, e, 0);
|
_qm->send<Event>(ThreadCommon::QueueManager::manager_event_master, e, 0);
|
||||||
|
LOG_DEBUG("Rotary: %s has been forwarded to manager", rotary_direction[e->getDataOf(type)]);
|
||||||
break;
|
break;
|
||||||
case Event::InternalTemp:
|
case Event::InternalTemp:
|
||||||
// TODO remove (deprecated)
|
// TODO remove (deprecated)
|
||||||
@ -37,10 +39,12 @@ void Master::HandleEventType(Event* e, Event::EventType type)
|
|||||||
//Comes from sensors, goes to relay & manager
|
//Comes from sensors, goes to relay & manager
|
||||||
_qm->send<Event>(ThreadCommon::QueueManager::relay_event_master, e, 0);
|
_qm->send<Event>(ThreadCommon::QueueManager::relay_event_master, e, 0);
|
||||||
_qm->send<Event>(ThreadCommon::QueueManager::manager_event_master, e, 0);
|
_qm->send<Event>(ThreadCommon::QueueManager::manager_event_master, e, 0);
|
||||||
|
LOG_DEBUG("ExtTemp: %d has been forwarded to manager and relay", e->getDataOf(type));
|
||||||
break;
|
break;
|
||||||
case Event::SetPoint:
|
case Event::SetPoint:
|
||||||
//Comes from manager, goes to relay
|
//Comes from manager, goes to relay
|
||||||
_qm->send<Event>(ThreadCommon::QueueManager::relay_event_master, e, 0);
|
_qm->send<Event>(ThreadCommon::QueueManager::relay_event_master, e, 0);
|
||||||
|
LOG_DEBUG("SetPoint: %d has been forwarded to relay", e->getDataOf(type));
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
assert(0);
|
assert(0);
|
||||||
|
|||||||
@ -8,6 +8,7 @@
|
|||||||
#include "Rotary.h"
|
#include "Rotary.h"
|
||||||
#include "board.h"
|
#include "board.h"
|
||||||
#include "queue.h"
|
#include "queue.h"
|
||||||
|
#include "Log.h"
|
||||||
|
|
||||||
static QueueHandle_t * p_rotary_isr_q;
|
static QueueHandle_t * p_rotary_isr_q;
|
||||||
|
|
||||||
@ -20,6 +21,10 @@ extern "C"
|
|||||||
portBASE_TYPE xHigherPriorityWoken = pdFALSE;
|
portBASE_TYPE xHigherPriorityWoken = pdFALSE;
|
||||||
uint8_t data = ThreadCommon::RotaryAction::Right;
|
uint8_t data = ThreadCommon::RotaryAction::Right;
|
||||||
xQueueSendFromISR (*p_rotary_isr_q, &data, &xHigherPriorityWoken);
|
xQueueSendFromISR (*p_rotary_isr_q, &data, &xHigherPriorityWoken);
|
||||||
|
if(!xHigherPriorityWoken)
|
||||||
|
{
|
||||||
|
LOG_WARNING("[PIN_INT0_IRQn] portEND_SWITCHING_ISR called with False value");
|
||||||
|
}
|
||||||
portEND_SWITCHING_ISR(xHigherPriorityWoken);
|
portEND_SWITCHING_ISR(xHigherPriorityWoken);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -30,6 +35,10 @@ extern "C"
|
|||||||
portBASE_TYPE xHigherPriorityWoken = pdFALSE;
|
portBASE_TYPE xHigherPriorityWoken = pdFALSE;
|
||||||
uint8_t data = ThreadCommon::RotaryAction::Left;
|
uint8_t data = ThreadCommon::RotaryAction::Left;
|
||||||
xQueueSendFromISR (*p_rotary_isr_q, &data, &xHigherPriorityWoken);
|
xQueueSendFromISR (*p_rotary_isr_q, &data, &xHigherPriorityWoken);
|
||||||
|
if(!xHigherPriorityWoken)
|
||||||
|
{
|
||||||
|
LOG_WARNING("[PIN_INT1_IRQn] portEND_SWITCHING_ISR called with False value");
|
||||||
|
}
|
||||||
portEND_SWITCHING_ISR(xHigherPriorityWoken);
|
portEND_SWITCHING_ISR(xHigherPriorityWoken);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -40,16 +49,23 @@ extern "C"
|
|||||||
portBASE_TYPE xHigherPriorityWoken = pdFALSE;
|
portBASE_TYPE xHigherPriorityWoken = pdFALSE;
|
||||||
uint8_t data = ThreadCommon::RotaryAction::Press;
|
uint8_t data = ThreadCommon::RotaryAction::Press;
|
||||||
xQueueSendFromISR (*p_rotary_isr_q, &data, &xHigherPriorityWoken);
|
xQueueSendFromISR (*p_rotary_isr_q, &data, &xHigherPriorityWoken);
|
||||||
|
if(!xHigherPriorityWoken)
|
||||||
|
{
|
||||||
|
LOG_WARNING("[PIN_INT2_IRQn] portEND_SWITCHING_ISR called with False value");
|
||||||
|
}
|
||||||
portEND_SWITCHING_ISR(xHigherPriorityWoken);
|
portEND_SWITCHING_ISR(xHigherPriorityWoken);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Rotary::Rotary(ThreadCommon::QueueManager* qm) : _qm(qm)
|
Rotary::Rotary(ThreadCommon::QueueManager* qm) : _qm(qm)
|
||||||
{
|
{
|
||||||
|
LOG_DEBUG("Creating Rotary");
|
||||||
}
|
}
|
||||||
|
|
||||||
Rotary::~Rotary() {}
|
Rotary::~Rotary()
|
||||||
|
{
|
||||||
|
LOG_ERROR("Deleting Rotary");
|
||||||
|
}
|
||||||
|
|
||||||
void Rotary::taskFunction()
|
void Rotary::taskFunction()
|
||||||
{
|
{
|
||||||
|
|||||||
@ -5,16 +5,19 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include "UserInterface.h"
|
#include "UserInterface.h"
|
||||||
|
#include "Log.h"
|
||||||
#include <cstring>
|
#include <cstring>
|
||||||
|
|
||||||
UserInterface::UserInterface(ThreadCommon::QueueManager* qm) :
|
UserInterface::UserInterface(ThreadCommon::QueueManager* qm) :
|
||||||
_qm(qm), lcd1(nullptr)
|
_qm(qm), lcd1(nullptr)
|
||||||
{
|
{
|
||||||
|
LOG_DEBUG("Creating UserInterface");
|
||||||
this->initLCD1();
|
this->initLCD1();
|
||||||
}
|
}
|
||||||
|
|
||||||
UserInterface::~UserInterface()
|
UserInterface::~UserInterface()
|
||||||
{
|
{
|
||||||
|
LOG_ERROR("Deleting UserInterface");
|
||||||
delete this->lcd1;
|
delete this->lcd1;
|
||||||
delete this->lcd1_rs;
|
delete this->lcd1_rs;
|
||||||
delete this->lcd1_en;
|
delete this->lcd1_en;
|
||||||
@ -45,7 +48,7 @@ void UserInterface::handleEvent(InterfaceWithData* ui_data)
|
|||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
//Should never happen.
|
//Should never happen.
|
||||||
printf("WARNING: [UserInterface::handleEvent] executed default case.\n");
|
LOG_ERROR("[UserInterface::handleEvent] executed default case");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -59,11 +62,13 @@ void UserInterface::handleLCD(LiquidCrystal *lcd, const char *str)
|
|||||||
//Interpret empty string as clear.
|
//Interpret empty string as clear.
|
||||||
if(!strlen(str))
|
if(!strlen(str))
|
||||||
lcd->clear();
|
lcd->clear();
|
||||||
|
LOG_INFO("Clear up LCD");
|
||||||
//Print the text otherwise.
|
//Print the text otherwise.
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
lcd->setCursor(0, 0);
|
lcd->setCursor(0, 0);
|
||||||
lcd->print(str);
|
lcd->print(str);
|
||||||
|
LOG_INFO("Printing [%s] on LCD");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user