Пример #1
0
void GuiInterface::stop()
{
    qDebug("GuiInterface thread stopped");
    stoppedConsumer = true;

    rcmIfClose();
}
Пример #2
0
void RefInterface::stop()
{
    //stop ref thread so consumer can grab info
    qDebug("Reference thread stopped");
   // stopped = false;
    stopped = true;
    rcmIfClose();
}
Пример #3
0
int main(int argc, char **argv)
{

    ros::init(argc, argv, "reset");
    ros::NodeHandle nh("~");

    // parameters
    int node_id;
    std::string dev_path;

    nh.param("node_id", node_id, 100);
    nh.param("dev_path", dev_path, std::string("/dev/ttyACM0"));

    int r;

    // initialize interface
    r = rcmIfInit(rcmIfUsb, (char*) dev_path.c_str());
    error_check(r, "Initialization Failed");
    
    // put in idle mode during configuration
    r = rcmSleepModeSet(RCM_SLEEP_MODE_IDLE);
    error_check(r, "Time out waiting for sleep mode set");

    // make sure correct internal opmode is set
    r = rcmOpModeSet(RCM_OPMODE_RCM);
    error_check(r, "Timeout waiting for opmode set");

    // execute Built-In Test
    int status;
    r = rcmBit(&status);
    error_check(r, "Timeout waiting for test");
    error_check(status, "Built-In Test Failed");

    // get status information
    rcmMsg_GetStatusInfoConfirm statusInfo;
    r = rcmStatusInfoGet(&statusInfo);
    error_check(r, "Timeout waiting for status information");
    print_status(&statusInfo);

    // get configuration from RCM
    rcmConfiguration config;
    r = rcmConfigGet(&config);
    error_check(r, "Timeout waiting for configuration");
    print_configuration(&config);

    // default configuration
    config.nodeId = node_id;
    config.integrationIndex = 7;
    config.codeChannel = 0;
    config.electricalDelayPsA = 0;
    config.electricalDelayPsB = 0;
    config.flags = 0;
    config.txGain = RCM_TXGAIN_MAX;
    config.persistFlag = RCM_PERSIST_ALL;

    r = rcmConfigSet(&config);
    error_check(r, "Time out waiting for rcmConfig confirm");
    print_configuration(&config);

    // cleanup
    rcmIfFlush();
    rcmIfClose();
    
}