EXPORT(sqInt) primitiveSerialPortOpen(void) { sqInt portNum; sqInt baudRate; sqInt stopBitsType; sqInt parityType; sqInt dataBits; sqInt inFlowControl; sqInt outFlowControl; sqInt xOnChar; sqInt xOffChar; portNum = interpreterProxy->stackIntegerValue(8); baudRate = interpreterProxy->stackIntegerValue(7); stopBitsType = interpreterProxy->stackIntegerValue(6); parityType = interpreterProxy->stackIntegerValue(5); dataBits = interpreterProxy->stackIntegerValue(4); inFlowControl = interpreterProxy->stackIntegerValue(3); outFlowControl = interpreterProxy->stackIntegerValue(2); xOnChar = interpreterProxy->stackIntegerValue(1); xOffChar = interpreterProxy->stackIntegerValue(0); if (interpreterProxy->failed()) { return null; } serialPortOpen( portNum, baudRate, stopBitsType, parityType, dataBits, inFlowControl, outFlowControl, xOnChar, xOffChar); if (interpreterProxy->failed()) { return null; } interpreterProxy->pop(9); return null; }
primitiveSerialPortOpen(void) { // SerialPlugin>>#primitiveSerialPortOpen sqInt baudRate; sqInt dataBits; sqInt inFlowControl; sqInt outFlowControl; sqInt parityType; sqInt portNum; sqInt stopBitsType; sqInt xOffChar; sqInt xOnChar; portNum = stackIntegerValue(8); baudRate = stackIntegerValue(7); stopBitsType = stackIntegerValue(6); parityType = stackIntegerValue(5); dataBits = stackIntegerValue(4); inFlowControl = stackIntegerValue(3); outFlowControl = stackIntegerValue(2); xOnChar = stackIntegerValue(1); xOffChar = stackIntegerValue(0); if (failed()) { return null; } serialPortOpen( portNum, baudRate, stopBitsType, parityType, dataBits, inFlowControl, outFlowControl, xOnChar, xOffChar); if (failed()) { return null; } pop(9); return null; }
int serialPortOpenByName(char *portName, int baudRate, int stopBitsType, int parityType, int dataBits, int inFlowCtrl, int outFlowCtrl, int xOnChar, int xOffChar) { int portNum = portNumberForName(portName); if (portNum < 0) { success(false); return 0; } return serialPortOpen(portNum, baudRate, stopBitsType, parityType, dataBits, inFlowCtrl, outFlowCtrl, xOnChar, xOffChar); }
int main(int argc, char **argv) { ros::init(argc, argv, "commander"); dynamic_reconfigure::Server<super_modified_servo::commanderConfig> srv; dynamic_reconfigure::Server<super_modified_servo::commanderConfig>::CallbackType f; f = boost::bind(&CommanderCallBack, _1, _2); srv.setCallback(f); ros::NodeHandle n; ros::Publisher joint_pub = n.advertise<sensor_msgs::JointState>("/JointsState", 1000); ros::Rate loop_rate(200); fd = serialPortOpen("/dev/ttyUSB0", B115200); sensor_msgs::JointState joint_state_msg; char motor_name[] = "Motor"; joint_state_msg.header.stamp = ros::Time::now(); joint_state_msg.name.push_back(motor_name); joint_state_msg.position.push_back(0.0); joint_state_msg.velocity.push_back(0.0); joint_state_msg.effort.push_back(0.0); while(ros::ok()) { if (start_flag == true) { if (getCommunicationSuccess() == false) { resetErrors(fd, motor_id);; printf("[ERROR]: %d \n", getWarning()); } joint_state_msg.header.stamp = ros::Time::now(); sprintf(motor_name, "ID:%d", motor_id); joint_state_msg.name[0] = motor_name; joint_state_msg.position[0] = ticks2deg(getPosition(fd, motor_id)); joint_state_msg.velocity[0] = ticks2deg(getVelocity(fd, motor_id)); joint_state_msg.effort[0] = getCurrent(fd, motor_id); joint_pub.publish(joint_state_msg); // profiledMoveToAbsolutePosition(fd, motor_id, deg2ticks(set_point)); // moveToAbsolutePosition(fd, motor_id, deg2ticks(set_point)); moveWithVelocity(fd, motor_id, deg2ticks(set_point)); } ros::spinOnce(); loop_rate.sleep(); } serialPortClose(fd); return 0; }
void CdynControlDlg::InitRobot() { char *serial = cJSON_GetObjectItem(m_configJSON, "serial")->valuestring; int rate = cJSON_GetObjectItem(m_configJSON, "baudrate")->valueint; m_serial = serialPortOpen(serial, rate); CString str; str.Format(_T("%s:%d"), charTotchar(serial), rate); if (m_serial == INVALID_HANDLE_VALUE) { log(_T("can not init %s\n"), str); } else { log(_T("%s OK!\n"), str); } }
void MainWindow::actionMonitor() { // Open close monitor if (ui->widgetConsole->isVisible()) { serialPortClose(); ui->actionMonitor->setChecked(false); // Show main toolbar, hide monitor toolbar ui->mainToolBar->setVisible(true); ui->monitorToolBar->setVisible(false); } else { serialPortOpen(); ui->consoleEdit->setFocus(); ui->actionMonitor->setChecked(true); // Hide main toolbar, show monitor toolbar ui->mainToolBar->setVisible(false); ui->monitorToolBar->setVisible(true); } }