void DataTrace::stopTrace() { // Bouml preserved body begin 000C9471 file.close(); parametersEndTraceFile.open((path+"ParametersAfterTrace").c_str(), std::fstream::out | std::fstream::trunc); std::string parameterString; parametersEndTraceFile << "Name: " << this->name << std::endl; ptime today; today = second_clock::local_time(); parametersEndTraceFile << "Date: " << boost::posix_time::to_simple_string(today) << std::endl; JointName jointName; joint.getConfigurationParameter(jointName); jointName.toString(parameterString); // std::cout << parameterString << std::endl; parametersEndTraceFile << parameterString << std::endl; TorqueConstant torqueconst; joint.getConfigurationParameter(torqueconst); torqueconst.toString(parameterString); // std::cout << parameterString << std::endl; parametersEndTraceFile << parameterString << std::endl; JointLimits jointLimits; joint.getConfigurationParameter(jointLimits); jointLimits.toString(parameterString); // std::cout << parameterString << std::endl; parametersEndTraceFile << parameterString << std::endl; EncoderTicksPerRound encoderTicksPerRound; joint.getConfigurationParameter(encoderTicksPerRound); encoderTicksPerRound.toString(parameterString); // std::cout << parameterString << std::endl; parametersEndTraceFile << parameterString << std::endl; GearRatio gearRatio; joint.getConfigurationParameter(gearRatio); gearRatio.toString(parameterString); // std::cout << parameterString << std::endl; parametersEndTraceFile << parameterString << std::endl; InverseMovementDirection inverseMovementDirection; joint.getConfigurationParameter(inverseMovementDirection); inverseMovementDirection.toString(parameterString); // std::cout << parameterString << std::endl; parametersEndTraceFile << parameterString << std::endl; for (int i = 0; i < parameterVector.size(); i++) { joint.getConfigurationParameter(*(parameterVector[i])); parameterVector[i]->toString(parameterString); parametersEndTraceFile << parameterString << std::endl; delete parameterVector[i]; } parametersEndTraceFile.close(); // Bouml preserved body end 000C9471 }
void DataTrace::startTrace() { // Bouml preserved body begin 000C93F1 timeDurationMicroSec = 0; file.open((path + "jointDataTrace").c_str(), std::fstream::out | std::fstream::trunc); ptime today; today = second_clock::local_time(); file << "# Name: " << this->name << std::endl; file << "# Date: " << boost::posix_time::to_simple_string(today) << std::endl; JointName jointName; FirmwareVersion firmwareParameter; std::string parameterString; joint.getConfigurationParameter(firmwareParameter); joint.getConfigurationParameter(jointName); jointName.toString(parameterString); file << "# " << parameterString << std::endl; firmwareParameter.toString(parameterString); file << "# " << parameterString << std::endl; file << "# time [milliseconds]" << " " << "angle setpoint [rad]" << " " << "velocity setpoint [rad/s]" << " " << "RPM setpoint" << " " << "current setpoint [A]" << " " << "torque setpoint [Nm]" << " " << "ramp generator setpoint [rad/s]" << " " << "encoder setpoint" << " " << "sensed angle [rad]" << " " << "sensed encoder ticks" << " " << "sensed velocity [rad/s]" << " " << "sensed RPM" << " " << "sensed current [A]" << " " << "sensed torque [Nm]" << " " << "actual PWM" << " " << "OVER_CURRENT" << " " << "UNDER_VOLTAGE" << " " << "OVER_VOLTAGE" << " " << "OVER_TEMPERATURE" << " " << "MOTOR_HALTED" << " " << "HALL_SENSOR_ERROR" << " " << "PWM_MODE_ACTIVE" << " " << "VELOCITY_MODE" << " " << "POSITION_MODE" << " " << "TORQUE_MODE" << " " << "POSITION_REACHED" << " " << "INITIALIZED" << " " << "TIMEOUT" << " " << "I2T_EXCEEDED" << " " << std::endl; parametersBeginTraceFile.open((path + "ParametersAtBegin").c_str(), std::fstream::out | std::fstream::trunc); parameterVector.push_back(new ActualMotorVoltage); // parameterVector.push_back(new ErrorAndStatus); parameterVector.push_back(new ActualMotorDriverTemperature); parameterVector.push_back(new I2tSum); parameterVector.push_back(new PositionError); parameterVector.push_back(new PositionErrorSum); parameterVector.push_back(new RampGeneratorSpeed); parameterVector.push_back(new VelocityError); parameterVector.push_back(new VelocityErrorSum); // parameterVector.push_back(new CalibrateJoint); parameterVector.push_back(new DParameterFirstParametersPositionControl); parameterVector.push_back(new DParameterFirstParametersSpeedControl); parameterVector.push_back(new DParameterCurrentControl); parameterVector.push_back(new DParameterSecondParametersPositionControl); parameterVector.push_back(new DParameterSecondParametersSpeedControl); parameterVector.push_back(new IClippingParameterFirstParametersPositionControl); parameterVector.push_back(new IClippingParameterFirstParametersSpeedControl); parameterVector.push_back(new IClippingParameterCurrentControl); parameterVector.push_back(new IClippingParameterSecondParametersPositionControl); parameterVector.push_back(new IClippingParameterSecondParametersSpeedControl); // parameterVector.push_back(new InitializeJoint); parameterVector.push_back(new IParameterFirstParametersPositionControl); parameterVector.push_back(new IParameterFirstParametersSpeedControl); parameterVector.push_back(new IParameterCurrentControl); parameterVector.push_back(new IParameterSecondParametersPositionControl); parameterVector.push_back(new IParameterSecondParametersSpeedControl); parameterVector.push_back(new MaximumPositioningVelocity); parameterVector.push_back(new MotorAcceleration); parameterVector.push_back(new PositionControlSwitchingThreshold); parameterVector.push_back(new PParameterFirstParametersPositionControl); parameterVector.push_back(new PParameterFirstParametersSpeedControl); parameterVector.push_back(new PParameterCurrentControl); parameterVector.push_back(new PParameterSecondParametersPositionControl); parameterVector.push_back(new PParameterSecondParametersSpeedControl); parameterVector.push_back(new RampGeneratorSpeedAndPositionControl); parameterVector.push_back(new SpeedControlSwitchingThreshold); parameterVector.push_back(new ActivateOvervoltageProtection); parameterVector.push_back(new ActualCommutationOffset); // parameterVector.push_back(new ApproveProtectedParameters); parameterVector.push_back(new BEMFConstant); // parameterVector.push_back(new ClearI2tExceededFlag); // parameterVector.push_back(new ClearMotorControllerTimeoutFlag); parameterVector.push_back(new CommutationMode); parameterVector.push_back(new CommutationMotorCurrent); parameterVector.push_back(new CurrentControlLoopDelay); parameterVector.push_back(new EncoderResolution); parameterVector.push_back(new EncoderStopSwitch); parameterVector.push_back(new HallSensorPolarityReversal); parameterVector.push_back(new I2tExceedCounter); parameterVector.push_back(new I2tLimit); parameterVector.push_back(new InitializationMode); parameterVector.push_back(new InitSineDelay); parameterVector.push_back(new MassInertiaConstant); parameterVector.push_back(new MaximumMotorCurrent); parameterVector.push_back(new MaximumVelocityToSetPosition); parameterVector.push_back(new MotorCoilResistance); parameterVector.push_back(new MotorControllerTimeout); parameterVector.push_back(new MotorPoles); parameterVector.push_back(new OperationalTime); parameterVector.push_back(new PIDControlTime); parameterVector.push_back(new PositionTargetReachedDistance); parameterVector.push_back(new ReversingEncoderDirection); parameterVector.push_back(new SetEncoderCounterZeroAtNextNChannel); parameterVector.push_back(new SetEncoderCounterZeroAtNextSwitch); parameterVector.push_back(new SetEncoderCounterZeroOnlyOnce); parameterVector.push_back(new SineInitializationVelocity); parameterVector.push_back(new StopSwitchPolarity); parameterVector.push_back(new ThermalWindingTimeConstant); parameterVector.push_back(new VelocityThresholdForHallFX); parameterVector.push_back(new MotorHaltedVelocity); // apiParameterVector.push_back(new JointName); // apiParameterVector.push_back(new TorqueConstant); // apiParameterVector.push_back(new JointLimits); // apiParameterVector.push_back(new GearRatio); // apiParameterVector.push_back(new EncoderTicksPerRound); // apiParameterVector.push_back(new InverseMovementDirection); // for (int i = 0; i < apiParameterVector.size(); i++) { // joint.getConfigurationParameter(*(apiParameterVector[i])); // apiParameterVector[i]->toString(parameterString); // // std::cout << parameterString << std::endl; // parametersBeginTraceFile << parameterString << std::endl; // } parametersBeginTraceFile << "Name: " << this->name << std::endl; parametersBeginTraceFile << "Date: " << boost::posix_time::to_simple_string(today) << std::endl; // joint.getConfigurationParameter(jointName); jointName.toString(parameterString); // std::cout << parameterString << std::endl; parametersBeginTraceFile << parameterString << std::endl; firmwareParameter.toString(parameterString); parametersBeginTraceFile << parameterString << std::endl; TorqueConstant torqueconst; joint.getConfigurationParameter(torqueconst); torqueconst.toString(parameterString); // std::cout << parameterString << std::endl; parametersBeginTraceFile << parameterString << std::endl; JointLimits jointLimits; joint.getConfigurationParameter(jointLimits); jointLimits.toString(parameterString); // std::cout << parameterString << std::endl; parametersBeginTraceFile << parameterString << std::endl; EncoderTicksPerRound encoderTicksPerRound; joint.getConfigurationParameter(encoderTicksPerRound); encoderTicksPerRound.toString(parameterString); // std::cout << parameterString << std::endl; parametersBeginTraceFile << parameterString << std::endl; GearRatio gearRatio; joint.getConfigurationParameter(gearRatio); gearRatio.toString(parameterString); // std::cout << parameterString << std::endl; parametersBeginTraceFile << parameterString << std::endl; InverseMovementDirection inverseMovementDirection; joint.getConfigurationParameter(inverseMovementDirection); inverseMovementDirection.toString(parameterString); // std::cout << parameterString << std::endl; parametersBeginTraceFile << parameterString << std::endl; for (unsigned int i = 0; i < parameterVector.size(); i++) { joint.getConfigurationParameter(*(parameterVector[i])); parameterVector[i]->toString(parameterString); // std::cout << parameterString << std::endl; parametersBeginTraceFile << parameterString << std::endl; } parametersBeginTraceFile.close(); traceStartTime = microsec_clock::local_time(); // Bouml preserved body end 000C93F1 }