added testcases / a bit refactored

This commit is contained in:
Meydin87
2023-07-09 07:57:06 +02:00
parent 58325fdd88
commit d8a9bb7610
7 changed files with 91 additions and 15 deletions

View File

@@ -138,7 +138,7 @@ void SendVersionPackage(MCP2515 *interface)
DoSendCanPkg(interface, &toSend);
}
void SendDoTriggerSwitchCanPackage(uint16_t targetCanId, byte pinId, byte state)
void BroadcastTriggerMeyPinCanPackage(uint16_t targetCanId, byte pinId, byte state)
{
can_frame toSend;

View File

@@ -54,7 +54,7 @@ uint32_t CreateCanId(uint16_t commandId);
void SendVersionPackage(MCP2515 *interface);
void SendSwitchedTriggeredCanPackage(byte pinId, int state);
void SendDoTriggerSwitchCanPackage(uint16_t targetCanId, byte pinId, byte state);
void BroadcastTriggerMeyPinCanPackage(uint16_t targetCanId, byte pinId, byte state);
void DoSendCanPkg(can_frame *frame);
void DoSendCanPkg(MCP2515 *interface, can_frame *frame);

View File

@@ -71,20 +71,27 @@ void CheckRule(uint16_t deviceId, uint8_t dt, uint8_t state, Rule *rule)
if (rule->toggle)
pinState = (currentPinState->getPinState(rule->targetMeyPinId) ^ true);
SendDoTriggerSwitchCanPackage(rule->targetDevId, rule->targetMeyPinId, pinState);
// //digitalWrite(foundPinId->pin_id, pinState);
// //foundPinId->pin_state = pinState;
//
currentPinState->setPinState(rule->targetMeyPinId, pinState);
BroadcastTriggerMeyPinCanPackage(rule->targetDevId, rule->targetMeyPinId, pinState);
currentPinState->setPinState(rule->targetMeyPinId, pinState);
}
void HandleTriggered(can_frame *frame)
{
if (GetPackageType(frame->can_id) == SWITCH_TRIGGERED_CAN_ID)
{
RemotePinInfo *currentPinState = remotePinInfo.FindOrAdd(GetDeviceId(frame->can_id) );
if (currentPinState == NULL)
return;
currentPinState->setPinState(frame->data[0], frame->data[1]);
}
}
void HandleRules(can_frame *frame)
{
HandleTriggered(frame);
if (rules == NULL) return;
if (GetPackageType(frame->can_id) == SWITCH_TRIGGERED_CAN_ID)
{

View File

@@ -107,4 +107,5 @@ void AddToggle(uint16_t sourceDevId, byte sourceMeyPinId, uint16_t targetDevId,
void AddToggleInverse(uint16_t sourceDevId, byte sourceMeyPinId, uint16_t targetDevId, byte targetMeyPinId);
void HandleRules(can_frame *frame);
void PutRule(Rule *rule);
void CheckRule(uint16_t deviceId, uint8_t dt, uint8_t state, Rule *rule);
#endif

View File

@@ -63,7 +63,7 @@ void loop()
}
HandleFrame(&incomingCanFrame);
HandleRules(&incomingCanFrame);
// HandleRules(&incomingCanFrame);
}
}
}