bringup hardware
This commit is contained in:
@@ -73,13 +73,13 @@ class SPITPlayer {
|
|||||||
}
|
}
|
||||||
|
|
||||||
unordered_map<string, PlaySPITType *> *getPlaySPITTypes();
|
unordered_map<string, PlaySPITType *> *getPlaySPITTypes();
|
||||||
void setIsRunning(bool p_IsRunning);
|
void setIsRunning(bool p_IsRunning) { m_IsRunning = p_IsRunning; }
|
||||||
|
void setName(string p_Name) { m_Name = p_Name; }
|
||||||
|
void setType(char p_Type) { m_Type = p_Type; }
|
||||||
|
void setTime(long long p_Frames) { m_TimeFrames = p_Frames; }
|
||||||
bool getIsRunning() { return m_IsRunning; }
|
bool getIsRunning() { return m_IsRunning; }
|
||||||
void setName(string p_Name);
|
|
||||||
string getName() { return m_Name; }
|
string getName() { return m_Name; }
|
||||||
void setType(char p_Type);
|
|
||||||
char getType() { return m_Type; }
|
char getType() { return m_Type; }
|
||||||
void setTime(long long p_Frames);
|
|
||||||
long long getTime() { return m_TimeFrames; }
|
long long getTime() { return m_TimeFrames; }
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|||||||
@@ -61,19 +61,6 @@ SPITPlayer::~SPITPlayer() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void SPITPlayer::setIsRunning(bool p_IsRunning) {
|
|
||||||
m_IsRunning = p_IsRunning;
|
|
||||||
}
|
|
||||||
void SPITPlayer::setName(string p_Name) {
|
|
||||||
m_Name = p_Name;
|
|
||||||
}
|
|
||||||
void SPITPlayer::setType(char p_Type) {
|
|
||||||
m_Type = p_Type;
|
|
||||||
}
|
|
||||||
void SPITPlayer::setTime(long long p_Frames) {
|
|
||||||
m_TimeFrames = p_Frames;
|
|
||||||
}
|
|
||||||
|
|
||||||
unordered_map<string, SPITPlayer::PlaySPITType *> *SPITPlayer::getPlaySPITTypes() {
|
unordered_map<string, SPITPlayer::PlaySPITType *> *SPITPlayer::getPlaySPITTypes() {
|
||||||
return &m_PlaySPITTypes;
|
return &m_PlaySPITTypes;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -421,7 +421,7 @@ void SPIT_Client::addOvertakingSPIT_Message(SPIT_Message *p_SPIT_Message) {
|
|||||||
int intOvertakingMessageNumber;
|
int intOvertakingMessageNumber;
|
||||||
|
|
||||||
if (m_OvertakingSPIT_Messages.size() > s_MAX_OVERTAKING_SPIT_MESSAGES) {
|
if (m_OvertakingSPIT_Messages.size() > s_MAX_OVERTAKING_SPIT_MESSAGES) {
|
||||||
printf("SPIT_Client receiveing: perhaps message lost !!!!!");
|
ESP_LOGD(TAG, "SPIT_Client receiveing: perhaps message lost !!!!!");
|
||||||
}
|
}
|
||||||
|
|
||||||
intMessageNumber = (int)(p_SPIT_Message->getHeader()->getMessageNumber() & 0xFF);
|
intMessageNumber = (int)(p_SPIT_Message->getHeader()->getMessageNumber() & 0xFF);
|
||||||
@@ -730,7 +730,7 @@ void SPIT_Client::parseReportSPITProject(SPIT_Message::ReportSPITProject *p_Repo
|
|||||||
// Send RequestProjectTransfer
|
// Send RequestProjectTransfer
|
||||||
SPIT_Message::RequestProjectTransfer sMRequestProjectTransfer;
|
SPIT_Message::RequestProjectTransfer sMRequestProjectTransfer;
|
||||||
if (sendSPITMessage(sMRequestProjectTransfer) < 0) {
|
if (sendSPITMessage(sMRequestProjectTransfer) < 0) {
|
||||||
printf("SPIT_Client::parseReportSPITProject could not send RequestProjectTransfer\n");
|
ESP_LOGD(TAG, "SPIT_Client::parseReportSPITProject could not send RequestProjectTransfer\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
// todo Don't send the ReportSPITProject here it should be sended after parseEndProjectTransfer
|
// todo Don't send the ReportSPITProject here it should be sended after parseEndProjectTransfer
|
||||||
@@ -740,7 +740,7 @@ void SPIT_Client::parseReportSPITProject(SPIT_Message::ReportSPITProject *p_Repo
|
|||||||
sMReportSPITProject.setProjectName(m_ProjName);
|
sMReportSPITProject.setProjectName(m_ProjName);
|
||||||
sMReportSPITProject.setFramesPerSecond(0);
|
sMReportSPITProject.setFramesPerSecond(0);
|
||||||
if (sendSPITMessage(sMReportSPITProject) < 0) {
|
if (sendSPITMessage(sMReportSPITProject) < 0) {
|
||||||
printf("SPIT_Client::parseReportSPITProject could not send Client's ReportSPITProject");
|
ESP_LOGD(TAG, "SPIT_Client::parseReportSPITProject could not send Client's ReportSPITProject");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
void SPIT_Client::parseCloseSPITProject(SPIT_Message::CloseSPITProject *p_CloseSPITProject) {
|
void SPIT_Client::parseCloseSPITProject(SPIT_Message::CloseSPITProject *p_CloseSPITProject) {
|
||||||
@@ -927,7 +927,7 @@ void SPIT_Client::parseStartProjectTransfer(SPIT_Message::StartProjectTransfer *
|
|||||||
}
|
}
|
||||||
void SPIT_Client::parseEndProjectTransfer(SPIT_Message::EndProjectTransfer *p_EndProjectTransfer) {
|
void SPIT_Client::parseEndProjectTransfer(SPIT_Message::EndProjectTransfer *p_EndProjectTransfer) {
|
||||||
SPITObject::clearUnconfirmedSPITObjects();
|
SPITObject::clearUnconfirmedSPITObjects();
|
||||||
mCallbacks.onProjectUpdate(ProjUpdate::EndTransfer, m_ServerProjectID) ;
|
mCallbacks.onProjectUpdate(ProjUpdate::EndTransfer, m_ServerProjectID);
|
||||||
|
|
||||||
// Send SPIT_Message::ReportSPITProject after the m_SPITClientInterface is notfied of EndProjectTransfer
|
// Send SPIT_Message::ReportSPITProject after the m_SPITClientInterface is notfied of EndProjectTransfer
|
||||||
SPIT_Message::ReportSPITProject ptrSMReportSPITProject;
|
SPIT_Message::ReportSPITProject ptrSMReportSPITProject;
|
||||||
@@ -935,7 +935,7 @@ void SPIT_Client::parseEndProjectTransfer(SPIT_Message::EndProjectTransfer *p_En
|
|||||||
ptrSMReportSPITProject.setProjectName(m_ProjName);
|
ptrSMReportSPITProject.setProjectName(m_ProjName);
|
||||||
ptrSMReportSPITProject.setFramesPerSecond(0);
|
ptrSMReportSPITProject.setFramesPerSecond(0);
|
||||||
if (sendSPITMessage(ptrSMReportSPITProject) < 0) {
|
if (sendSPITMessage(ptrSMReportSPITProject) < 0) {
|
||||||
printf("SPIT_Client::parseReportSPITProject could not send Client's ReportSPITProject");
|
ESP_LOGD(TAG, "SPIT_Client::parseReportSPITProject could not send Client's ReportSPITProject");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1090,7 +1090,7 @@ int SPIT_Client::removeSPITType(string p_SPITTypeID) {
|
|||||||
return -1;
|
return -1;
|
||||||
SPIT_Message::RemoveSPITType sMRemoveSPITType;
|
SPIT_Message::RemoveSPITType sMRemoveSPITType;
|
||||||
ptrSPITType->fillMessageOP(&sMRemoveSPITType);
|
ptrSPITType->fillMessageOP(&sMRemoveSPITType);
|
||||||
mCallbacks.onSpitType(ObjectEvent::Deleted,*ptrSPITType);
|
mCallbacks.onSpitType(ObjectEvent::Deleted, *ptrSPITType);
|
||||||
SPITType::removeSPITType(ptrSPITType);
|
SPITType::removeSPITType(ptrSPITType);
|
||||||
delete ptrSPITType;
|
delete ptrSPITType;
|
||||||
return sendSPITMessage(sMRemoveSPITType);
|
return sendSPITMessage(sMRemoveSPITType);
|
||||||
@@ -1132,8 +1132,7 @@ SPITType *SPIT_Client::createSPITType(string p_ID, string p_GroupName, string p_
|
|||||||
|
|
||||||
//----- SPIT Objects ------
|
//----- SPIT Objects ------
|
||||||
void SPIT_Client::parseReportSPITObject(SPIT_Message::ReportSPITObject *p_ReportSPITObject) {
|
void SPIT_Client::parseReportSPITObject(SPIT_Message::ReportSPITObject *p_ReportSPITObject) {
|
||||||
|
ESP_LOGD(TAG, "parse ReportSPITObject %s\n", p_ReportSPITObject->getID().c_str());
|
||||||
// printf("parse ReportSPITObject %s\n", p_ReportSPITObject->getID());
|
|
||||||
if (p_ReportSPITObject == NULL)
|
if (p_ReportSPITObject == NULL)
|
||||||
return;
|
return;
|
||||||
SPITObject *ptrSPITObject;
|
SPITObject *ptrSPITObject;
|
||||||
@@ -1160,6 +1159,7 @@ void SPIT_Client::parseReportSPITObject(SPIT_Message::ReportSPITObject *p_Report
|
|||||||
if (ptrSPITObject == NULL) {
|
if (ptrSPITObject == NULL) {
|
||||||
// The user's app my veto the SPITType
|
// The user's app my veto the SPITType
|
||||||
if (mCallbacks.onCheckSpitObjectVeto(p_ReportSPITObject) == false) {
|
if (mCallbacks.onCheckSpitObjectVeto(p_ReportSPITObject) == false) {
|
||||||
|
ESP_LOGD(TAG, "ObjectVeto %s / %s", p_ReportSPITObject->getID().c_str(), p_ReportSPITObject->getName().c_str());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1170,6 +1170,7 @@ void SPIT_Client::parseReportSPITObject(SPIT_Message::ReportSPITObject *p_Report
|
|||||||
if (mCallbacks.onCheckSpitObjectVeto(p_ReportSPITObject) == false) {
|
if (mCallbacks.onCheckSpitObjectVeto(p_ReportSPITObject) == false) {
|
||||||
// SpitObject exists and User APp denied the SPITObject -> remove the SPITObject without sending a message
|
// SpitObject exists and User APp denied the SPITObject -> remove the SPITObject without sending a message
|
||||||
SPITObject::removeSPITObject(ptrSPITObject);
|
SPITObject::removeSPITObject(ptrSPITObject);
|
||||||
|
ESP_LOGD(TAG, "TypeVeto %s / %s", p_ReportSPITObject->getID().c_str(), p_ReportSPITObject->getName().c_str());
|
||||||
delete ptrSPITObject;
|
delete ptrSPITObject;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -1336,10 +1337,8 @@ int SPIT_Client::removeSPITObject(string p_SPITObjectID) {
|
|||||||
//----- Play SPIT Objects ------
|
//----- Play SPIT Objects ------
|
||||||
|
|
||||||
void SPIT_Client::parsePlaySPITStart(SPIT_Message::PlaySPITStart *p_PlaySPITStart) {
|
void SPIT_Client::parsePlaySPITStart(SPIT_Message::PlaySPITStart *p_PlaySPITStart) {
|
||||||
// printf("parse PlaySPITStart ID: %s Name: %s Running: %d\n", p_PlaySPITStart->getPlayerID(), p_PlaySPITStart->getPlayerName(), p_PlaySPITStart->getPlayerIsRunning());
|
ESP_LOGD(TAG, "parse PlaySPITStart ID: %s Name: %s Running: %d", p_PlaySPITStart->getPlayerID().c_str(), p_PlaySPITStart->getPlayerName().c_str(), (int)p_PlaySPITStart->getPlayerIsRunning());
|
||||||
SPITPlayer *ptrSPITPlayer;
|
SPITPlayer *ptrSPITPlayer = SPITPlayer::getSPITPlayer(p_PlaySPITStart->getPlayerID());
|
||||||
{
|
|
||||||
ptrSPITPlayer = SPITPlayer::getSPITPlayer(p_PlaySPITStart->getPlayerID());
|
|
||||||
if (ptrSPITPlayer == NULL)
|
if (ptrSPITPlayer == NULL)
|
||||||
return;
|
return;
|
||||||
ptrSPITPlayer->setIsRunning(p_PlaySPITStart->getPlayerIsRunning());
|
ptrSPITPlayer->setIsRunning(p_PlaySPITStart->getPlayerIsRunning());
|
||||||
@@ -1349,47 +1348,33 @@ void SPIT_Client::parsePlaySPITStart(SPIT_Message::PlaySPITStart *p_PlaySPITStar
|
|||||||
ptrSPITPlayer->startPlaySequence();
|
ptrSPITPlayer->startPlaySequence();
|
||||||
|
|
||||||
mCallbacks.onPlay(ptrSPITPlayer->getID(), ptrSPITPlayer->getName(), ptrSPITPlayer->getType(), ptrSPITPlayer->getIsRunning(), ptrSPITPlayer->getTime());
|
mCallbacks.onPlay(ptrSPITPlayer->getID(), ptrSPITPlayer->getName(), ptrSPITPlayer->getType(), ptrSPITPlayer->getIsRunning(), ptrSPITPlayer->getTime());
|
||||||
}
|
|
||||||
}
|
}
|
||||||
void SPIT_Client::parsePlaySPITObject(SPIT_Message::PlaySPITObject *p_PlaySPITObject) {
|
void SPIT_Client::parsePlaySPITObject(SPIT_Message::PlaySPITObject *p_PlaySPITObject) {
|
||||||
// printf("parse RPlaySPITObject Object:%s\n", p_PlaySPITObject->getSPITObjectID());
|
SPITPlayer *ptrSPITPlayer = SPITPlayer::getSPITPlayer(p_PlaySPITObject->getPlayerID());
|
||||||
SPITPlayer *ptrSPITPlayer;
|
|
||||||
SPITPlayer::PlaySPITType *ptrPlaySPITType;
|
|
||||||
SPITObject *ptrSPITObject;
|
|
||||||
{
|
|
||||||
ptrSPITPlayer = SPITPlayer::getSPITPlayer(p_PlaySPITObject->getPlayerID());
|
|
||||||
if (ptrSPITPlayer == NULL)
|
if (ptrSPITPlayer == NULL)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
// Fetch infoemations from SPITObject
|
SPITObject *ptrSPITObject = SPITObject::getSPITObject(p_PlaySPITObject->getSPITObjectID());
|
||||||
ptrSPITObject = SPITObject::getSPITObject(p_PlaySPITObject->getSPITObjectID());
|
|
||||||
if (ptrSPITObject == NULL) {
|
if (ptrSPITObject == NULL) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
ptrPlaySPITType = ptrSPITPlayer->addSPITType_Playing(ptrSPITObject->getSPITTypeID());
|
SPITPlayer::PlaySPITType *ptrPlaySPITType = ptrSPITPlayer->addSPITType_Playing(ptrSPITObject->getSPITTypeID());
|
||||||
if (ptrPlaySPITType == NULL) {
|
if (ptrPlaySPITType == NULL) {
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
ptrPlaySPITType->setPlayerIsRunning(ptrSPITPlayer->getIsRunning());
|
ptrPlaySPITType->setPlayerIsRunning(ptrSPITPlayer->getIsRunning());
|
||||||
ptrPlaySPITType->addValue(((double)p_PlaySPITObject->getValue() / 1000000), ((double)ptrSPITObject->getValueFactor() / 1000000));
|
ptrPlaySPITType->addValue(((double)p_PlaySPITObject->getValue() / 1000000), ((double)ptrSPITObject->getValueFactor() / 1000000));
|
||||||
}
|
|
||||||
}
|
}
|
||||||
void SPIT_Client::parsePlaySPITEnd(SPIT_Message::PlaySPITEnd *p_PlaySPITEnd) {
|
void SPIT_Client::parsePlaySPITEnd(SPIT_Message::PlaySPITEnd *p_PlaySPITEnd) {
|
||||||
// printf("parse PlaySPITEnd \n");
|
SPITPlayer *ptrSPITPlayer = SPITPlayer::getSPITPlayer(p_PlaySPITEnd->getPlayerID());
|
||||||
SPITPlayer *ptrSPITPlayer;
|
if (ptrSPITPlayer == NULL)
|
||||||
SPITType *ptrSPITType = NULL;
|
return;
|
||||||
|
|
||||||
// {
|
// unordered_map<string, SPITPlayer::PlaySPITType*>* ptrPlayObjects;
|
||||||
// ptrSPITPlayer = SPITPlayer::getSPITPlayer(p_PlaySPITEnd->getPlayerID());
|
|
||||||
// if (ptrSPITPlayer == NULL) return;
|
|
||||||
|
|
||||||
// unordered_map<string, SPITPlayer::PlayObject*>* ptrPlayObjects;
|
|
||||||
// SPITPlayer::PlayObject* ptrPlayObject;
|
|
||||||
// bool boolStarted;
|
// bool boolStarted;
|
||||||
// bool boolStopped;
|
// bool boolStopped;
|
||||||
|
|
||||||
// ptrPlayObjects = ptrSPITPlayer->getPlayObjects();
|
// SPITPlayer::PlaySPITType* ptrPlayObject = ptrSPITPlayer->getPlayObjects();
|
||||||
// for (auto i = ptrPlayObjects->begin(); i != ptrPlayObjects->end(); i++) {
|
// for (auto i = ptrPlayObjects->begin(); i != ptrPlayObjects->end(); i++) {
|
||||||
// ptrPlayObject = i->second;
|
// ptrPlayObject = i->second;
|
||||||
// boolStarted = false;
|
// boolStarted = false;
|
||||||
@@ -1405,7 +1390,7 @@ void SPIT_Client::parsePlaySPITEnd(SPIT_Message::PlaySPITEnd *p_PlaySPITEnd) {
|
|||||||
// if (ptrSPITObject == NULL) {
|
// if (ptrSPITObject == NULL) {
|
||||||
// return;
|
// return;
|
||||||
// }
|
// }
|
||||||
// ptrSPITType = SPITType::getSPITType(ptrSPITObject->getSPITTypeID());
|
// SPITType *ptrSPITType = SPITType::getSPITType(ptrSPITObject->getSPITTypeID());
|
||||||
// if (ptrSPITType == NULL) {
|
// if (ptrSPITType == NULL) {
|
||||||
// return;
|
// return;
|
||||||
// }
|
// }
|
||||||
@@ -1414,11 +1399,10 @@ void SPIT_Client::parsePlaySPITEnd(SPIT_Message::PlaySPITEnd *p_PlaySPITEnd) {
|
|||||||
// }
|
// }
|
||||||
// }
|
// }
|
||||||
// ptrSPITPlayer->endPlaySequence();
|
// ptrSPITPlayer->endPlaySequence();
|
||||||
// }
|
|
||||||
|
|
||||||
ptrSPITPlayer = SPITPlayer::getSPITPlayer(p_PlaySPITEnd->getPlayerID());
|
// SPITPlayer *ptrSPITPlayer = SPITPlayer::getSPITPlayer(p_PlaySPITEnd->getPlayerID());
|
||||||
if (ptrSPITPlayer == NULL)
|
// if (ptrSPITPlayer == NULL)
|
||||||
return;
|
// return;
|
||||||
|
|
||||||
unordered_map<string, SPITPlayer::PlaySPITType *> *ptrPlaySPITTypes = ptrSPITPlayer->getPlaySPITTypes();
|
unordered_map<string, SPITPlayer::PlaySPITType *> *ptrPlaySPITTypes = ptrSPITPlayer->getPlaySPITTypes();
|
||||||
for (auto i = ptrPlaySPITTypes->begin(); i != ptrPlaySPITTypes->end(); i++) {
|
for (auto i = ptrPlaySPITTypes->begin(); i != ptrPlaySPITTypes->end(); i++) {
|
||||||
@@ -1432,7 +1416,7 @@ void SPIT_Client::parsePlaySPITEnd(SPIT_Message::PlaySPITEnd *p_PlaySPITEnd) {
|
|||||||
boolStopped = true;
|
boolStopped = true;
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
ptrSPITType = SPITType::getSPITType(ptrPlaySPITType->getSPITTypeID());
|
SPITType *ptrSPITType = SPITType::getSPITType(ptrPlaySPITType->getSPITTypeID());
|
||||||
if (ptrSPITType == NULL) {
|
if (ptrSPITType == NULL) {
|
||||||
// set isplayed to false, the ptrPlayObject will be removed by ptrSPITPlayer->endPlaySequence()
|
// set isplayed to false, the ptrPlayObject will be removed by ptrSPITPlayer->endPlaySequence()
|
||||||
ptrPlaySPITType->setIsPlayed(false);
|
ptrPlaySPITType->setIsPlayed(false);
|
||||||
@@ -1445,13 +1429,11 @@ void SPIT_Client::parsePlaySPITEnd(SPIT_Message::PlaySPITEnd *p_PlaySPITEnd) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void SPIT_Client::parseReportPlayStatus(SPIT_Message::ReportPlayStatus *p_ReportPlayStatus) {
|
void SPIT_Client::parseReportPlayStatus(SPIT_Message::ReportPlayStatus *p_ReportPlayStatus) {
|
||||||
// only REMOTE server -> client
|
ESP_LOGD(TAG, "parseReportPlayStatus");
|
||||||
// printf(" parseReportPlayStatus ");
|
|
||||||
SPITType *ptrSPITType = NULL;
|
SPITType *ptrSPITType = NULL;
|
||||||
SPITObject *ptrSPITObject = NULL;
|
|
||||||
{
|
{
|
||||||
|
|
||||||
ptrSPITObject = SPITObject::getSPITObjectRemote(p_ReportPlayStatus->getID());
|
SPITObject *ptrSPITObject = SPITObject::getSPITObjectRemote(p_ReportPlayStatus->getID());
|
||||||
if (ptrSPITObject == NULL) {
|
if (ptrSPITObject == NULL) {
|
||||||
ptrSPITObject = SPITObject::getSPITObject(p_ReportPlayStatus->getID());
|
ptrSPITObject = SPITObject::getSPITObject(p_ReportPlayStatus->getID());
|
||||||
if (ptrSPITObject == NULL) {
|
if (ptrSPITObject == NULL) {
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
|
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 26 KiB |
Binary file not shown.
Binary file not shown.
+46
-31
@@ -6,15 +6,18 @@
|
|||||||
* @copyright Copyright (c) 2024
|
* @copyright Copyright (c) 2024
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Conig-Key:
|
/* Watchface
|
||||||
//
|
6/
|
||||||
//
|
5 / 1
|
||||||
//
|
4 2
|
||||||
|
3
|
||||||
|
*/
|
||||||
|
|
||||||
struct {
|
struct {
|
||||||
const char *syslogDest = "syslogDst"; // example: "172.16.16.10"
|
const char *syslogDest = "syslogDst"; // example: "172.16.16.10"
|
||||||
const char *mqttBroker = "mqttBroker"; // example: "172.16.17.62"
|
const char *mqttBroker = "mqttBroker"; // example: "172.16.16.10"
|
||||||
const char *mqttPrefix = "mqttPrefix"; // example: "SomeTag"
|
const char *mqttPrefix = "mqttPrefix"; // example: "SomeTag"
|
||||||
|
const char *spitServer = "spitServer"; // example: "172.16.16.10"
|
||||||
} ConfigKeys;
|
} ConfigKeys;
|
||||||
|
|
||||||
// MQTT Topics
|
// MQTT Topics
|
||||||
@@ -476,7 +479,7 @@ namespace Effect {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const Macro macDemoFlicker = {
|
const Macro macDemoFlicker = {
|
||||||
{64, 1, &InitSlopeWave, StateMachine::UpdateWave, 0xFF},
|
{16, 1, &InitSlopeWave, StateMachine::UpdateWave, 0xFF},
|
||||||
{32, 1, StateMachine::UpdateFlicker, 0xFF},
|
{32, 1, StateMachine::UpdateFlicker, 0xFF},
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
@@ -511,15 +514,24 @@ void LightingTask() {
|
|||||||
processors[5].setEffect(Effect::macDark, &colorSource, 0);
|
processors[5].setEffect(Effect::macDark, &colorSource, 0);
|
||||||
|
|
||||||
const std::array<Effect::Macro, 6> PictoEffects{
|
const std::array<Effect::Macro, 6> PictoEffects{
|
||||||
|
Effect::macDemoPulse, // 1
|
||||||
Effect::macDemoPulse,
|
Effect::macDemoPulse,
|
||||||
Effect::macDemoPulse,
|
Effect::macDemoPulse,
|
||||||
Effect::macDemoPulse,
|
Effect::macDemoPulse,
|
||||||
Effect::macDemoPulse,
|
Effect::macStartFlicker,
|
||||||
Effect::macDemoPulse,
|
Effect::macDemoPulse}; // 6
|
||||||
Effect::macStartFlicker};
|
|
||||||
|
|
||||||
uint8_t lastPicto = 0;
|
uint8_t lastPicto = 0;
|
||||||
|
|
||||||
|
std::array<uint16_t *, 6> startPoints{
|
||||||
|
&(values[0][4]), // 1
|
||||||
|
&(values[1][12]),
|
||||||
|
&(values[1][8]),
|
||||||
|
&(values[1][4]),
|
||||||
|
&(values[0][12]),
|
||||||
|
&(values[0][8]), // 6
|
||||||
|
};
|
||||||
|
|
||||||
while (true) {
|
while (true) {
|
||||||
auto onPos = pictoIllumQue.dequeue(0);
|
auto onPos = pictoIllumQue.dequeue(0);
|
||||||
if (onPos) {
|
if (onPos) {
|
||||||
@@ -543,14 +555,6 @@ void LightingTask() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
std::array<uint16_t *, 6> startPoints{
|
|
||||||
&(values[0][4]),
|
|
||||||
&(values[0][8]),
|
|
||||||
&(values[0][12]),
|
|
||||||
&(values[1][4]),
|
|
||||||
&(values[1][8]),
|
|
||||||
&(values[1][12]),
|
|
||||||
};
|
|
||||||
for (size_t i = 0; i < processors.size(); i++) {
|
for (size_t i = 0; i < processors.size(); i++) {
|
||||||
auto col = processors[i].tick();
|
auto col = processors[i].tick();
|
||||||
auto sp = startPoints[i];
|
auto sp = startPoints[i];
|
||||||
@@ -572,7 +576,7 @@ void MovementTask() {
|
|||||||
StepperDriverDrv8833::Pins stepperPins{
|
StepperDriverDrv8833::Pins stepperPins{
|
||||||
LEDC_TIMER_0,
|
LEDC_TIMER_0,
|
||||||
{LEDC_CHANNEL_0, LEDC_CHANNEL_1, LEDC_CHANNEL_2, LEDC_CHANNEL_3},
|
{LEDC_CHANNEL_0, LEDC_CHANNEL_1, LEDC_CHANNEL_2, LEDC_CHANNEL_3},
|
||||||
{GPIO_NUM_23, GPIO_NUM_22, GPIO_NUM_21, GPIO_NUM_20},
|
{GPIO_NUM_21, GPIO_NUM_20, GPIO_NUM_23, GPIO_NUM_22},
|
||||||
};
|
};
|
||||||
StepperDriverDrv8833 stepperDriver(stepperPins, MicroSteps, 0.25F);
|
StepperDriverDrv8833 stepperDriver(stepperPins, MicroSteps, 0.25F);
|
||||||
stepperDriver.setPos(0);
|
stepperDriver.setPos(0);
|
||||||
@@ -591,7 +595,7 @@ void MovementTask() {
|
|||||||
ESP_LOGI("Stepper", "Find Home");
|
ESP_LOGI("Stepper", "Find Home");
|
||||||
stepper.findRef();
|
stepper.findRef();
|
||||||
// Illum 1
|
// Illum 1
|
||||||
pictoIllumQue.enqueue(std::make_unique<PictoIllumCommand>(1));
|
pictoIllumQue.enqueue(std::make_unique<PictoIllumCommand>(6));
|
||||||
|
|
||||||
ESP_LOGI(TAG, "Fist Position is %f.2", stepper.getScaledPos() * 6);
|
ESP_LOGI(TAG, "Fist Position is %f.2", stepper.getScaledPos() * 6);
|
||||||
fos::Task::delayMs(1000);
|
fos::Task::delayMs(1000);
|
||||||
@@ -603,7 +607,6 @@ void MovementTask() {
|
|||||||
auto cmd = commandQueue.dequeue();
|
auto cmd = commandQueue.dequeue();
|
||||||
if (cmd->type == MoveType::StepTo) {
|
if (cmd->type == MoveType::StepTo) {
|
||||||
if (stepper.isIdle()) {
|
if (stepper.isIdle()) {
|
||||||
pictoIllumQue.enqueue(std::make_unique<PictoIllumCommand>(0));
|
|
||||||
int newPos = cmd->pos;
|
int newPos = cmd->pos;
|
||||||
if ((newPos >= 1) && (newPos <= 6)) {
|
if ((newPos >= 1) && (newPos <= 6)) {
|
||||||
auto idx = newPos - 1;
|
auto idx = newPos - 1;
|
||||||
@@ -727,33 +730,47 @@ void onProjectUpdate(SPIT_Client::ProjUpdate state, string projectId) {
|
|||||||
* @return false = the SPITType is denied, true = the SPITType is accepted
|
* @return false = the SPITType is denied, true = the SPITType is accepted
|
||||||
*/
|
*/
|
||||||
bool onCheckSpitTypeVeto(SPIT_Message::ReportSPITType *p_ReportSPITType) {
|
bool onCheckSpitTypeVeto(SPIT_Message::ReportSPITType *p_ReportSPITType) {
|
||||||
|
return true; // Bypass veto
|
||||||
|
|
||||||
if (p_ReportSPITType == NULL)
|
if (p_ReportSPITType == NULL)
|
||||||
return true;
|
return true;
|
||||||
SPITType *ptrSPITType;
|
SPITType *ptrSPITType;
|
||||||
ptrSPITType = SPITType::getSPITType(p_ReportSPITType->getID());
|
ptrSPITType = SPITType::getSPITType(p_ReportSPITType->getID());
|
||||||
|
|
||||||
// Don't allow foreign SPITTypes
|
// Don't allow foreign SPITTypes
|
||||||
if (ptrSPITType == NULL)
|
if (ptrSPITType == NULL) {
|
||||||
|
// ESP_LOGW(TAG, "ObjectVeto NoSpitType");
|
||||||
return false;
|
return false;
|
||||||
if (ptrSPITType->getCreatedByClient() == false)
|
}
|
||||||
|
if (ptrSPITType->getCreatedByClient() == false){
|
||||||
|
// ESP_LOGW(TAG, "getCreatedByClient");
|
||||||
return false;
|
return false;
|
||||||
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool onCheckSpitObjectVeto(SPIT_Message::ReportSPITObject *p_ReportSPITObject) {
|
bool onCheckSpitObjectVeto(SPIT_Message::ReportSPITObject *p_ReportSPITObject) {
|
||||||
|
return true; // Bypass veto
|
||||||
|
|
||||||
if (p_ReportSPITObject == NULL)
|
if (p_ReportSPITObject == NULL)
|
||||||
return true;
|
return true;
|
||||||
SPITType *ptrSPITType = SPITType::getSPITType(p_ReportSPITObject->getSPITTypeID());
|
SPITType *ptrSPITType = SPITType::getSPITType(p_ReportSPITObject->getSPITTypeID());
|
||||||
if (ptrSPITType == NULL)
|
if (ptrSPITType == NULL) {
|
||||||
|
// ESP_LOGW(TAG, "ObjectVeto NoSpitObj");
|
||||||
return false;
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
// Don't allow SPITObjects which refers to a SPITType which is not created by this client - other SPITTypes cannot be handled here
|
// Don't allow SPITObjects which refers to a SPITType which is not created by this client - other SPITTypes cannot be handled here
|
||||||
if (ptrSPITType->getCreatedByClient() == false)
|
if (ptrSPITType->getCreatedByClient() == false) {
|
||||||
|
// ESP_LOGW(TAG, "getCreatedByClient");
|
||||||
return false;
|
return false;
|
||||||
|
}
|
||||||
SPITObject *ptrSPITObject = SPITObject::getSPITObject(p_ReportSPITObject->getID());
|
SPITObject *ptrSPITObject = SPITObject::getSPITObject(p_ReportSPITObject->getID());
|
||||||
// Don't allow foreign SPITTypes
|
// Don't allow foreign SPITTypes
|
||||||
if (ptrSPITObject == NULL)
|
if (ptrSPITObject == NULL) {
|
||||||
|
// ESP_LOGE(TAG, "Unknown ID");
|
||||||
return false;
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@@ -765,10 +782,6 @@ void onSpitType(SPIT_Client::ObjectEvent event, const SPITType &p_SPITType) {
|
|||||||
// Whenever you provide an action for this SPITType take this over in your code.
|
// Whenever you provide an action for this SPITType take this over in your code.
|
||||||
// call _SpitClient.setActionSPITType(p_SPITType.getID(), true);
|
// call _SpitClient.setActionSPITType(p_SPITType.getID(), true);
|
||||||
ESP_LOGI(TAG, "NEW SPIT-Type ID: %s GroupName: %s Name: %s confirmed: %d", p_SPITType.getID().data(), p_SPITType.getGroupName().data(), p_SPITType.getName().data(), p_SPITType.getConfirmed());
|
ESP_LOGI(TAG, "NEW SPIT-Type ID: %s GroupName: %s Name: %s confirmed: %d", p_SPITType.getID().data(), p_SPITType.getGroupName().data(), p_SPITType.getName().data(), p_SPITType.getConfirmed());
|
||||||
auto typeName = p_SPITType.getName();
|
|
||||||
if (ExpectedObjects.contains(typeName)) {
|
|
||||||
ExpectedObjects[typeName] = p_SPITType.getID();
|
|
||||||
}
|
|
||||||
} else if (event == SPIT_Client::ObjectEvent::Changed) {
|
} else if (event == SPIT_Client::ObjectEvent::Changed) {
|
||||||
ESP_LOGI(TAG, "SPIT-Type CHANGED ID: %s GroupName: %s Name: %s confirmed: %d", p_SPITType.getID().data(), p_SPITType.getGroupName().data(), p_SPITType.getName().data(), p_SPITType.getConfirmed());
|
ESP_LOGI(TAG, "SPIT-Type CHANGED ID: %s GroupName: %s Name: %s confirmed: %d", p_SPITType.getID().data(), p_SPITType.getGroupName().data(), p_SPITType.getName().data(), p_SPITType.getConfirmed());
|
||||||
} else if (event == SPIT_Client::ObjectEvent::Deleted) {
|
} else if (event == SPIT_Client::ObjectEvent::Deleted) {
|
||||||
@@ -784,6 +797,10 @@ void onSpitType(SPIT_Client::ObjectEvent event, const SPITType &p_SPITType) {
|
|||||||
void onSpitTypeRemote(SPIT_Client::ObjectEvent event, const SPITType &p_SPITType) {
|
void onSpitTypeRemote(SPIT_Client::ObjectEvent event, const SPITType &p_SPITType) {
|
||||||
if (event == SPIT_Client::ObjectEvent::Created) {
|
if (event == SPIT_Client::ObjectEvent::Created) {
|
||||||
ESP_LOGI(TAG, "NEW SPIT-REMOTE-Type ID: %s GroupName: %s Name: %s confirmed: %d", p_SPITType.getID().data(), p_SPITType.getGroupName().data(), p_SPITType.getName().data(), p_SPITType.getConfirmed());
|
ESP_LOGI(TAG, "NEW SPIT-REMOTE-Type ID: %s GroupName: %s Name: %s confirmed: %d", p_SPITType.getID().data(), p_SPITType.getGroupName().data(), p_SPITType.getName().data(), p_SPITType.getConfirmed());
|
||||||
|
auto typeName = p_SPITType.getName();
|
||||||
|
if (ExpectedObjects.contains(typeName)) {
|
||||||
|
ExpectedObjects[typeName] = p_SPITType.getID();
|
||||||
|
}
|
||||||
} else if (event == SPIT_Client::ObjectEvent::Changed) {
|
} else if (event == SPIT_Client::ObjectEvent::Changed) {
|
||||||
// we had to inform all Remote SPITObjects using the p_SPITType
|
// we had to inform all Remote SPITObjects using the p_SPITType
|
||||||
// perhaps the SPITObject uses information from the SPITType
|
// perhaps the SPITObject uses information from the SPITType
|
||||||
@@ -964,8 +981,6 @@ void SpitClientApp() {
|
|||||||
|
|
||||||
while (true) {
|
while (true) {
|
||||||
fos::Task::delayMs(10000);
|
fos::Task::delayMs(10000);
|
||||||
ESP_LOGI(TAG, "Test LiveShow");
|
|
||||||
|
|
||||||
auto res = responseQueue.dequeue();
|
auto res = responseQueue.dequeue();
|
||||||
if (res->type == ResponseType::StartMoving) {
|
if (res->type == ResponseType::StartMoving) {
|
||||||
spitClient.sendRemoteObject(ExpectedObjects[expected.changingPos]);
|
spitClient.sendRemoteObject(ExpectedObjects[expected.changingPos]);
|
||||||
|
|||||||
Reference in New Issue
Block a user