Skip to main content
Skip table of contents

CDRFLEx. set_on_rt_monitoring_data

Features

This is a callback function called when the robot controller output data is received from the external controller.

Note

  • Non real-time functions such as printf must not be called faster than 30Hz inside this function.

Parameter

None

Return

Value

Description

0

Error

1

Success

Example

CPP
// callback function
void OnRTMonitoringData(LPRT_OUTPUT_DATA_LIST tData)
{
    return;
    static int td = 0;
    if (td++==1000) {
        td = 0;
        printf("timestamp : %.3f\n", tData->time_stamp);
        printf("actual_joint_position : %f %f %f %f %f %f\n", tData->actual_joint_position[0], tData->actual_joint_position[1], tData->actual_joint_position[2], tData->actual_joint_position[3], tData->actual_joint_position[4], tData->actual_joint_position[5]);
        printf("actual_motor_torque : %f %f %f %f %f %f\n", tData->actual_motor_torque[0], tData->actual_motor_torque[1], tData->actual_motor_torque[2], tData->actual_motor_torque[3], tData->actual_motor_torque[4], tData->actual_motor_torque[5]);
        printf("actual_grav_torque : %f %f %f %f %f %f\n", tData->gravity_torque[0], tData->gravity_torque[1], tData->gravity_torque[2], tData->gravity_torque[3], tData->gravity_torque[4], tData->gravity_torque[5]);
        printf("target torque : %f %f %f %f %f %f\n", tData->target_motor_torque[0], tData->target_motor_torque[1], tData->target_motor_torque[2], tData->target_motor_torque[3], tData->target_motor_torque[4], tData->target_motor_torque[5]);
    }
}

// main.cpp
CDRFLEx drfl;
drfl.connect_rt_control();
string version = “v1.0”;
float period = 0.001; // 1 msec
int losscount = 4;
Drfl.set_on_rt_monitoring_data(OnRTMonitoringData);
drfl.set_rt_control_output(version, period, losscount);
drfl.start_rt_control();


JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.