void ShooterArm::UsePIDOutput(double output) { //Go from stage 1 to to 2, or from stage 3 to 2 if off target if (((_onStage2 == false) && (OnTarget())) || ((_onStage3 == true) && (OnTarget() == false))) { _onStage2 = true; _onStage3 = false; PIDController *pid = GetPIDController(); pid->SetPID(_bothStage_P,_stage_2_I,_stage_2_D); pid->SetAbsoluteTolerance(fabs(_stage_2_tolerance * VOLTAGE_DEG_SCALAR)); } else if ((_onStage2 == true) && (_onStage3 == false) && (OnTarget())) { _onStage3 = true; PIDController *pid = GetPIDController(); pid->SetPID(_bothStage_P,0.0,_stage_2_D); //pid->SetAbsoluteTolerance(fabs(_stage_2_tolerance * VOLTAGE_DEG_SCALAR)); } // BEGIN AUTOGENERATED CODE, SOURCE=ROBOTBUILDER ID=OUTPUT shooterArmMotor->PIDWrite(output); // END AUTOGENERATED CODE, SOURCE=ROBOTBUILDER ID=OUTPUT }
void GameSocket::ProcessData(unsigned char* data, int size) { Reader.SetBuffer(data); int offset = 0; while(offset < size) { unsigned short psize = Reader.ReadWord() + 6; unsigned short opcode = Reader.ReadWord(); Reader.Skip(2); switch(opcode) { case GAME_CLIENT_KEEP_ALIVE: case GAME_CLIENT_ACCEPT_HANDSHAKE: break; case GAME_CLIENT_INFO: SendServerInfo(); break; case GAME_CLIENT_PATCH_REQUEST: SendPatchInfo(); break; case GAME_CLIENT_AUTH: OnAuth(); break; case GAME_CLIENT_CHARACTER: OnCharacter(); break; case GAME_CLIENT_INGAME_REQUEST: OnIngameRequest(); break; case GAME_CLIENT_MOVEMENT: OnMovement(); break; case GAME_CLIENT_CLOSE: OnGameQuit(); break; case GAME_CLIENT_CHAT: OnChat(); break; case GAME_CLIENT_ITEM_MOVE: OnItem(); break; case GAME_CLIENT_TARGET: OnTarget(); break; case GAME_CLIENT_INGAME_NOTIFY: OnIngameNotify(); break; case GAME_CLIENT_EMOTION://update carlosx OnEmotion(); break; case GAME_CLIENT_SIT: //update carlosx OnSit(); break; case GAME_CLIENT_ESTRELLA: //update carlosx OnEstrella(); break; case GAME_CLIENT_ADDSKILL: //update carlosx OnUpdateSkill(); break; case GAME_CLIENT_MASTERY: //update carlosx OnMastertSkill(); break; case GAME_CLIENT_ATSKILL: //update carlosx OnATSkill(); break; case GAME_CLIENT_ADDSTR: //update carlosx OnADDStr(); break; case GAME_CLIENT_ADDINT: //update carlosx OnADDInt(); break; case GAME_CLIENT_GM: OnGM(); break; default: printf("Unknown opcode: %.4x\n", opcode); } Reader.Reset(); Reader.Skip(psize); offset += psize; } Reader.Reset(); }