Merge pull request #44 from vas-dav/handle-setpoint-43
Handle setpoint 43
This commit is contained in:
commit
7f9d6bd5d4
@ -19,6 +19,7 @@ set_point_text("CURRENT %3d DESIRED[%3d] ")
|
|||||||
this->SetState(&Menu::sInitView);
|
this->SetState(&Menu::sInitView);
|
||||||
ext_temp.setCurrent(0);
|
ext_temp.setCurrent(0);
|
||||||
set_point.setCurrent(0);
|
set_point.setCurrent(0);
|
||||||
|
readSetPointFromEEPROM();
|
||||||
}
|
}
|
||||||
|
|
||||||
Menu::~Menu()
|
Menu::~Menu()
|
||||||
@ -26,6 +27,17 @@ Menu::~Menu()
|
|||||||
LOG_DEBUG("Deleting Menu");
|
LOG_DEBUG("Deleting Menu");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
Menu::readSetPointFromEEPROM (void)
|
||||||
|
{
|
||||||
|
EventRawData *data = (EventRawData *)eeprom.read_from (EEPROM_START_ADDR,
|
||||||
|
sizeof(EventRawData));
|
||||||
|
if ((*data) > 0 && (*data) < 120)
|
||||||
|
{
|
||||||
|
set_point.setCurrent(*data);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void Menu::HandleEventPair (Event::EventPair *ep)
|
void Menu::HandleEventPair (Event::EventPair *ep)
|
||||||
{
|
{
|
||||||
switch(ep->et/*EventType*/)
|
switch(ep->et/*EventType*/)
|
||||||
@ -135,6 +147,8 @@ void Menu::sMainView(const MenuObjEvent &e)
|
|||||||
void Menu::sSetPointMod(const MenuObjEvent &e)
|
void Menu::sSetPointMod(const MenuObjEvent &e)
|
||||||
{
|
{
|
||||||
static char screen_text[64];
|
static char screen_text[64];
|
||||||
|
EventRawData sp;
|
||||||
|
Event event_sp (Event::EventType::SetPoint, set_point.getCurrent());
|
||||||
switch (e.type)
|
switch (e.type)
|
||||||
{
|
{
|
||||||
case MenuObjEvent::eFocus:
|
case MenuObjEvent::eFocus:
|
||||||
@ -161,7 +175,15 @@ void Menu::sSetPointMod(const MenuObjEvent &e)
|
|||||||
break;
|
break;
|
||||||
case MenuObjEvent::eClick:
|
case MenuObjEvent::eClick:
|
||||||
LOG_DEBUG("click sSetPointMod");
|
LOG_DEBUG("click sSetPointMod");
|
||||||
|
sp = set_point.getCurrent();
|
||||||
|
// Write to EEPROM
|
||||||
|
eeprom.write_to(EEPROM_START_ADDR, (void*)&sp, sizeof(EventRawData));
|
||||||
|
|
||||||
|
event_sp.setDataOf(Event::EventType::SetPoint, sp);
|
||||||
|
_qm->send<Event>(ThreadCommon::QueueManager::master_event_all, &event_sp, 1);
|
||||||
|
|
||||||
this->SetState(&Menu::sMainView);
|
this->SetState(&Menu::sMainView);
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case MenuObjEvent::eRefresh:
|
case MenuObjEvent::eRefresh:
|
||||||
LOG_DEBUG("refresh sSetPointMod");
|
LOG_DEBUG("refresh sSetPointMod");
|
||||||
|
|||||||
@ -11,6 +11,7 @@
|
|||||||
#include "Counter.h"
|
#include "Counter.h"
|
||||||
#include "MenuObjEvent.h"
|
#include "MenuObjEvent.h"
|
||||||
#include "ThreadCommon.h"
|
#include "ThreadCommon.h"
|
||||||
|
#include "EEPROMio.h"
|
||||||
#include "Event.h"
|
#include "Event.h"
|
||||||
|
|
||||||
class Menu;
|
class Menu;
|
||||||
@ -29,6 +30,7 @@ private:
|
|||||||
p_state current;
|
p_state current;
|
||||||
Counter<EventRawData> ext_temp;
|
Counter<EventRawData> ext_temp;
|
||||||
Counter<EventRawData> set_point;
|
Counter<EventRawData> set_point;
|
||||||
|
EEPROMio eeprom;
|
||||||
const char main_text[64];
|
const char main_text[64];
|
||||||
const char set_point_text[64];
|
const char set_point_text[64];
|
||||||
/* States */
|
/* States */
|
||||||
@ -39,6 +41,7 @@ private:
|
|||||||
void SetState (p_state new_state);
|
void SetState (p_state new_state);
|
||||||
void HandleObj (const MenuObjEvent &event);
|
void HandleObj (const MenuObjEvent &event);
|
||||||
void NotifyAndRefreshUI (const char *str);
|
void NotifyAndRefreshUI (const char *str);
|
||||||
|
void readSetPointFromEEPROM (void);
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif /* THREADS_MANAGER_MENU_H_ */
|
#endif /* THREADS_MANAGER_MENU_H_ */
|
||||||
|
|||||||
@ -92,7 +92,7 @@ void thread_master(void* pvParams) {
|
|||||||
ThreadCommon::QueueManager::logging_message_all);
|
ThreadCommon::QueueManager::logging_message_all);
|
||||||
logging_queue = manager->qm->getQueue(ThreadCommon::QueueManager::logging_message_all);
|
logging_queue = manager->qm->getQueue(ThreadCommon::QueueManager::logging_message_all);
|
||||||
manager->tm->createTask(thread_logging, "logging",
|
manager->tm->createTask(thread_logging, "logging",
|
||||||
configMINIMAL_STACK_SIZE * 10,tskIDLE_PRIORITY + 1UL,
|
configMINIMAL_STACK_SIZE * 9,tskIDLE_PRIORITY + 1UL,
|
||||||
static_cast<void*>(manager));
|
static_cast<void*>(manager));
|
||||||
|
|
||||||
LOG_INFO("Logging Active");
|
LOG_INFO("Logging Active");
|
||||||
@ -117,16 +117,16 @@ void thread_master(void* pvParams) {
|
|||||||
|
|
||||||
LOG_INFO("Master is creating tasks");
|
LOG_INFO("Master is creating tasks");
|
||||||
manager->tm->createTask(thread_manager, "manager",
|
manager->tm->createTask(thread_manager, "manager",
|
||||||
configMINIMAL_STACK_SIZE * 10,tskIDLE_PRIORITY + 1UL,
|
configMINIMAL_STACK_SIZE * 15,tskIDLE_PRIORITY + 1UL,
|
||||||
static_cast<void*>(manager));
|
static_cast<void*>(manager));
|
||||||
manager->tm->createTask(thread_rotary, "rotary",
|
manager->tm->createTask(thread_rotary, "rotary",
|
||||||
configMINIMAL_STACK_SIZE * 10,tskIDLE_PRIORITY + 1UL,
|
configMINIMAL_STACK_SIZE * 9,tskIDLE_PRIORITY + 1UL,
|
||||||
static_cast<void*>(manager));
|
static_cast<void*>(manager));
|
||||||
manager->tm->createTask(thread_user_interface, "user_interface",
|
manager->tm->createTask(thread_user_interface, "user_interface",
|
||||||
configMINIMAL_STACK_SIZE * 10,tskIDLE_PRIORITY + 1UL,
|
configMINIMAL_STACK_SIZE * 9,tskIDLE_PRIORITY + 1UL,
|
||||||
static_cast<void*>(manager));
|
static_cast<void*>(manager));
|
||||||
manager->tm->createTask(thread_relay, "relay",
|
manager->tm->createTask(thread_relay, "relay",
|
||||||
configMINIMAL_STACK_SIZE * 10,tskIDLE_PRIORITY + 1UL,
|
configMINIMAL_STACK_SIZE * 9,tskIDLE_PRIORITY + 1UL,
|
||||||
static_cast<void*>(manager));
|
static_cast<void*>(manager));
|
||||||
LOG_INFO("Master created tasks");
|
LOG_INFO("Master created tasks");
|
||||||
m.taskFunction();
|
m.taskFunction();
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user