bringup hardware

This commit is contained in:
2025-03-30 21:00:09 +02:00
parent f06cf9c3b1
commit d607cd867a
8 changed files with 126 additions and 142 deletions
+4 -4
View File
@@ -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:
-13
View File
@@ -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;
} }
+24 -42
View File
@@ -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) {
@@ -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");
} }
} }
@@ -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());
@@ -1350,46 +1349,32 @@ void SPIT_Client::parsePlaySPITStart(SPIT_Message::PlaySPITStart *p_PlaySPITStar
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.
BIN
View File
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
View File
@@ -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]);