//********************************************************************** void CBCGPToolTipCtrl::AdjustDelayTime() { if (GetSafeHwnd() == NULL) { return; } if (m_bResetDelayTime) { SetDelayTime(TTDT_AUTOMATIC, -1); m_bResetDelayTime = FALSE; return; } if (m_Params.m_nDelayAutomatic != 0) { SetDelayTime(TTDT_AUTOMATIC, m_Params.m_nDelayAutomatic); return; } if (m_Params.m_nDelayAutoPop != 0) { SetDelayTime(TTDT_AUTOPOP, m_Params.m_nDelayAutoPop); } if (m_Params.m_nDelayInitial != 0) { SetDelayTime(TTDT_INITIAL, m_Params.m_nDelayInitial); } if (m_Params.m_nDelayReshow != 0) { SetDelayTime(TTDT_RESHOW, m_Params.m_nDelayReshow); } }
ProjectileNinjaStar::ProjectileNinjaStar(bool bDirection, int xPos, int yPos) { /* Set Sprite Number */ SetSprite(1, CR::AssetList::ninja_star); /* Set Sprite Direction */ SetDirection(bDirection); /* Set Weapon Bounding Box */ SetWeaponBounds(16,16); /* Set Activate & Delay Timer */ SetActiveTime(4); SetDelayTime(.25); /* Set Velocity Direction */ if(bDirection) SetVelocityVector(80, 0); else SetVelocityVector(-80, 0); /* Set Start Position */ SetPosition(xPos, yPos); /* Set Damage Value */ SetWeaponDamage(2); /* Initialize Sprite */ SetAnimation(0, 0, true, false, 30, true); projectile_spr->EnableFrameSkip(false); }
ProjectilePrisonerRock::ProjectilePrisonerRock(bool bDirection, int xPos, int yPos) { /* Set Sprite Number */ SetSprite(1, CR::AssetList::prisoner_rock); /* Set Sprite Direction */ SetDirection(bDirection); /* Set Weapon Bounding Box */ SetWeaponBounds(12,12); /* Set Activate & Delay Timer */ SetActiveTime(3); SetDelayTime(.25); /* Set Velocity Direction */ if(bDirection) SetVelocityVector((float)(rand()%50+75), 0); else SetVelocityVector((float)(-(rand()%50+75)), 0); /* Set Acceleration Vector */ SetAccelerationVector(0, (float)(rand()%75 + 65)); /* Set Start Position */ SetPosition(xPos, yPos); /* Set Damage Value */ SetWeaponDamage(5); proj_flags.S_NON_PROJECTILE = true; /* Initialize Sprite */ SetAnimation(0, 0, true, false, 10, true); }
void FIR::SetImpulse(float* impulse, int impulsesize){ if(m_newtable) delete m_table; m_table = new UsrDefTable(impulsesize, impulse); SetDelayTime(impulsesize*m_sr); m_newtable = true; }
int FIR::Set(char *mess, float value) { switch(FindMsg(mess)){ case 21: SetDelayTime(value); return 1; case 32: m_size = (int) value; return 1; default: return DelayLine::Set(mess, value); } }
int DelayLine::Set(char* mess, float value){ switch (FindMsg(mess)){ case 21: SetDelayTime(value); return 1; case 1: SetSr(value); return 1; default: return SndObj::Set(mess,value); } }
ProjectilePoints::ProjectilePoints(int xPos, int yPos, int nPoints, int fnt, bool type) { this->nPoints = static_cast<int>(nPoints*modifier); S_FLICKER = false; /* Set Activate & Delay Timer */ SetActiveTime(3); SetDelayTime(0); /* Set Start Position */ SetPosition(xPos, yPos); SetVelocityVector(0, -20); SetSource(true); proj_flags.S_NON_PROJECTILE = true; bType = type; switch(fnt) { case 0: this->fnt = fnt_yellow; break; case 1: this->fnt = fnt_red; break; case 2: this->fnt = fnt_green; break; case 3: this->fnt = fnt_blue; break; case 4: this->fnt = fnt_blue; S_FLICKER = true; break; } }
GMI_RESULT AlarmOutput::Start( const void_t *Parameter, size_t ParameterLength ) { const struct AlarmOutputInfo *Info = (const struct AlarmOutputInfo *) Parameter; SetOutputNumber( Info->s_OutputNumber ); SetName( Info->s_Name ); //SetWorkMode( (enum AlarmOutputWorkMode) Info->s_WorkMode ); SetDelayTime( Info->s_DelayTime ); #if 0 for ( uint32_t i = 0; i < Info->s_ScheduleTimeNumber; ++i ) { AddScheduleTime( &(Info->s_ScheduleTime[i]) ); } #endif GMI_RESULT Result = m_TimerThread.Create( NULL, 0, TimerThread, this ); if ( FAILED( Result ) ) { AlarmOutput::Stop(); return Result; } Result = m_TimerThread.Start(); if ( FAILED( Result ) ) { m_TimerThread.Destroy(); AlarmOutput::Stop(); return Result; } Result = m_OperationLock.Create( NULL ); if ( FAILED( Result ) ) { m_TimerThread.Destroy(); AlarmOutput::Stop(); return Result; } return GMI_SUCCESS; }
void_t* AlarmOutput::TimerEntry() { GMI_RESULT Result = GMI_FAIL; m_ThreadWorking = true; //uint8_t GPIOStatus = 0; //int8_t s_GPIOStatus = 0; time_t CurrTime; int32_t i = 0; while( !m_ThreadExitFlag ) { CurrTime = time(NULL); if(GetDelayTime() != g_CurStartedAlarmOut[GetOutputNumber()].s_AlarmOutputInfo.s_DelayTime) { SetDelayTime(g_CurStartedAlarmOut[GetOutputNumber()].s_AlarmOutputInfo.s_DelayTime); } m_OperationLock.Lock( TIMEOUT_INFINITE ); for(i=1; i <= MAX_NUM_EVENT_TYPE; i++) { if((GetTriggedTime(i) > 0) &&((CurrTime > (GetTriggedTime(i)+GetDelayTime())) || (GetTriggedTime(i)> (uint32_t)CurrTime))) { switch(i) { case EVENT_DETECTOR_ID_HUMAN_DETECT: case EVENT_DETECTOR_ID_ALARM_INPUT: printf("GMI_ALARM_MODE_GPIO recover[%u]\n", (uint32_t)CurrTime); //Result = GMI_BrdSetAlarmOutput( GMI_ALARM_MODE_LIGHT, 0, 0 ); if(e_AlarmOutputStatus_Opened == g_CurStartedAlarmOut[GetOutputNumber()].s_AlarmOutputInfo.s_NormalStatus) { fprintf(stderr, "recover trigger alarmout %d, normael status %d, need recover status to %d\n", GetOutputNumber(), e_AlarmOutputStatus_Opened, e_AlarmOutputStatus_Opened); Result = GMI_BrdSetAlarmOutput( GMI_ALARM_MODE_GPIO, GetOutputNumber(), (uint8_t)e_AlarmOutputStatus_Opened ); } else { fprintf(stderr, "recover trigger alarmout %d, normael status %d, need recover status to %d\n", GetOutputNumber(), e_AlarmOutputStatus_Closed, e_AlarmOutputStatus_Closed); Result = GMI_BrdSetAlarmOutput( GMI_ALARM_MODE_GPIO, GetOutputNumber(), (uint8_t)e_AlarmOutputStatus_Closed ); } if ( FAILED( Result ) ) { fprintf(stderr, "GMI_BrdSetAlarmOutput GMI_ALARM_MODE_GPIO fail\n"); } break; default: break; } SetTriggedTime(0, i); } } m_OperationLock.Unlock(); GMI_Sleep( 1000 ); } for(i=1; i <= MAX_NUM_EVENT_TYPE; i++) { if(GetTriggedTime(i) > 0) { switch(i) { case EVENT_DETECTOR_ID_HUMAN_DETECT: #if 0 printf("GMI_ALARM_MODE_LIGHT close[%u]\n", (uint32_t)CurrTime); Result = GMI_BrdSetAlarmOutput( GMI_ALARM_MODE_LIGHT, 0, 0 ); if ( FAILED( Result ) ) { fprintf(stderr, "GMI_BrdSetAlarmOutput GMI_ALARM_MODE_LIGHT fail\n"); } #endif break; case EVENT_DETECTOR_ID_ALARM_INPUT: //Result = GMI_BrdSetAlarmOutput( GMI_ALARM_MODE_LIGHT, 0, 0 ); if(e_AlarmOutputStatus_Opened == g_CurStartedAlarmOut[GetOutputNumber()].s_AlarmOutputInfo.s_NormalStatus) { Result = GMI_BrdSetAlarmOutput( GMI_ALARM_MODE_GPIO, GetOutputNumber(), (uint8_t)e_AlarmOutputStatus_Opened ); } else { Result = GMI_BrdSetAlarmOutput( GMI_ALARM_MODE_GPIO, GetOutputNumber(), (uint8_t)e_AlarmOutputStatus_Closed ); } if ( FAILED( Result ) ) { fprintf(stderr, "GMI_BrdSetAlarmOutput GMI_ALARM_MODE_GPIO fail\n"); } break; default: break; } SetTriggedTime(0, i); } } m_ThreadWorking = false; return (void_t *) size_t(Result); }