//At the end of if statement Line 141 if(m_old_btn & BTN_MODE) /////////////////////////// ////////////////////////// ////////////////////////// else if(m_cur_mode == SPRINT) //adding LED and play mp3 for new mode { cm730.WriteByte(CM730::P_LED_PANNEL, 0x01|0x04, NULL); //Signaling Darwin OP 2 which LED to turn on LinuxActionScript::PlayMP3("../../../Data/mp3/New_Mode mode.mp3"); //play an mp3 file (you can use any mp3 file but make sure file name matches) } } // Line 267 Add else if(m_cur_mode == NEW_MODE) { MotionManager::GetInstance()->Reinitialize(); MotionManager::GetInstance()->SetEnable(true); //initialize and enable MotionManager class m_is_started = 1; LinuxActionScript::PlayMP3("../../../Data/mp3/Start New_Mode demonstration.mp3"); //play an mp3 file (you can use any mp3 file but make sure file name matches) // Joint Enable... Action::GetInstance()->m_Joint.SetEnableBody(true, true); Action::GetInstance()->Start(9); while(Action::GetInstance()->IsRunning() == true) usleep(8000); Head::GetInstance()->m_Joint.SetEnableHeadOnly(true, true); Walking::GetInstance()->m_Joint.SetEnableBodyWithoutHead(true, true); //Reset Gyro sensor MotionManager::GetInstance()->ResetGyroCalibration(); while(1) { if(MotionManager::GetInstance()->GetCalibrationStatus() == 1) { LinuxActionScript::PlayMP3("../../../Data/mp3/Sensor calibration complete.mp3"); break; } else if(MotionManager::GetInstance()->GetCalibrationStatus() == -1) { LinuxActionScript::PlayMP3Wait("../../../Data/mp3/Sensor calibration fail.mp3"); MotionManager::GetInstance()->ResetGyroCalibration(); } usleep(8000); } //copied status check condition from soccer mode to new mode //These codes initialize Darwin OP 2 for movement and walking