void checkMinMaxPosFire(char SWPoscarMin, char SWPoscarMax, int *craneKnownFlags, int *cranePresentFlags) { if(state == RUNNING) { if(GET_BIT(*craneKnownFlags, SWPOSCARMINBIT) && GET_BIT(*craneKnownFlags, SWPOSCARMAXBIT)) { if(GET_BIT(*cranePresentFlags, SWPOSCARMINBIT) && GET_BIT(*cranePresentFlags, SWPOSCARMAXBIT)) { if(SWPoscarMin == 1 || SWPoscarMax == 1) { count++; } else { count = 0; } if(count > 10) { SET_BIT_TRUE(*craneKnownFlags, EMSTOPCHECKMINMAXBIT); SET_BIT_TRUE(*cranePresentFlags, EMSTOPCHECKMINMAXBIT); initCheckMinMaxPos(); } } } } if(GET_BIT(*craneKnownFlags, SWPOSCARMINBIT) && GET_BIT(*craneKnownFlags, SWPOSCARMAXBIT) && !GET_BIT(*craneKnownFlags, EMSTOPCHECKMINMAXBIT)) { SET_BIT_TRUE(*craneKnownFlags, EMSTOPCHECKMINMAXBIT); } }
void StandSerialProtocol::SetSSFSIsEncrypt(StandSerialFrameStruct *SSFS,U8 IsEncrypt) { if(IsEncrypt) { SET_BIT_TRUE(SSFS->Property,4); } else { CLEAR_BIT_TRUE(SSFS->Property,4); } }
void controlBrakeFire(double posDesired, char brakeCond, char isKnown, char *brake, int hasEventFlags, int *craneKnownFlags, int *cranePresentFlags) { char res = 0; if(state == RUNNING) { if(GET_BIT(*craneKnownFlags, ISKNOWNBIT) && GET_BIT(*craneKnownFlags, BRAKECONDITIONBIT)) { if(GET_BIT(*cranePresentFlags, ISKNOWNBIT)) { if(isKnown == 1) { res = 1; } } if(GET_BIT(*cranePresentFlags, BRAKECONDITIONBIT)) { if(brakeCond == 1) { res = 1; } } if(GET_BIT(hasEventFlags, POSDESIREDBIT)) { value = 0; } if(res == 1) { value = 1; } if(GET_BIT(hasEventFlags, SHUTDOWNBIT)) { value = 1; } *brake = value; SET_BIT_TRUE(*craneKnownFlags, BRAKEBIT); SET_BIT_TRUE(*cranePresentFlags, BRAKEBIT); } } }