Compare commits

...

2 Commits

Author SHA1 Message Date
b843b8439e Risolto problema in libURcom
package lenght mismatch per il pacchetto tipo 8 AdditionalInfo,
aggiunto uchar foo alla fine per far sparire l'errore.. chi sa perchè?
2019-10-29 10:39:35 +01:00
b5566594b6 Aggiornati offset assi (Simulazione) 2019-10-29 10:38:29 +01:00
6 changed files with 45 additions and 42 deletions

View File

@@ -5,7 +5,7 @@ RoboGlue_COM::RoboGlue_COM (RoboGlue_SHARED *mem): m(mem) {
//////// SETUP LOGGER //////////
liblog = spdlog::stdout_logger_mt("URcom_liblog");
modlog = spdlog::stdout_logger_mt("RoboGlue_comlog");
liblog->set_level(spdlog::level::info);
liblog->set_level(spdlog::level::debug);
modlog->set_level(spdlog::level::debug);
///////// INITIALIZE TCP SERVER ///////////

View File

@@ -51,7 +51,7 @@ bool UR_CLinterface::connect(const char* ip, uint16_t port) {
try {
rsocket->connect(
tcp::endpoint(boost::asio::ip::address::from_string(ip), port));
if ((bool) rsocket->is_open()) {
if (static_cast<bool>(rsocket->is_open())) {
log->info("Connected to {0} on port {1}", ip, port);
return true;
}
@@ -75,7 +75,7 @@ void UR_CLinterface::sendCommand(std::string command) {
char* dataOut=NULL;
if (rsocket->is_open()){
command = command + '\n';
dataOut = (char*)malloc(command.size());
dataOut = static_cast<char*>(malloc(command.size()));
strncpy(dataOut, command.c_str(), command.size());
log->debug("Sending: {}, s:{}",dataOut,command.size());
boost::asio::write(*rsocket, boost::asio::buffer(dataOut, command.size()), error);
@@ -106,7 +106,7 @@ void UR_CLinterface::parseData(void){
subP = new versionSub(lastData, &clientData);
subP->parse();
firstMessage=false;
long t=(long)clientData.versonMessage.timestamp;
long t=static_cast<long>(clientData.versonMessage.timestamp);
std::string timestr=std::string(asctime(gmtime(&t)));
timestr.pop_back();
log->info("Connection Time: {}", timestr);
@@ -185,7 +185,7 @@ void UR_CLinterface::parseData(void){
subP = new toolModeSub(&lastData[currIndex], &clientData);
break;
case SAFETY_DATA:
//not yet implemented
//TODO: not yet implemented
break;
default:
log->error("Unknown Subpackage: {}", subPackageType);
@@ -194,7 +194,7 @@ void UR_CLinterface::parseData(void){
if (subP != NULL) subP->parse();
currIndex+=subPackageSize;
} catch (long sizediff){
log->error("Package Length Mismatch: {}",sizediff);
log->error("Package Length Mismatch: type_{:d}, diff_{:d}",subPackageType,sizediff);
currIndex+=subPackageSize;
}
}
@@ -225,7 +225,7 @@ void UR_CLinterface::readData(void) {
// all number are represented in network byte order, conversion required
packlen = ntohl(packlen);
// allocate memory for incoming package
lastData = (unsigned char*)malloc(packlen);
lastData = static_cast<unsigned char*>(malloc(packlen));
// blocking read of exactly packlen bytes
readata += boost::asio::read(*rsocket, receive_buffer,boost::asio::transfer_exactly(packlen), error);
//retreive all data from buffer

View File

@@ -366,6 +366,7 @@ namespace subpackage {
v->feedriveButtonPressed = this->getUChar(&dataIn);
v->feedriveButtonEnabled = this->getUChar(&dataIn);
v->ioEnableFeedrive = this->getUChar(&dataIn);
v->foo = this->getUChar(&dataIn);
// check if read data is aligned with package size
if (dataIn-begin != size) throw dataIn-begin-size;

View File

@@ -40,7 +40,7 @@ namespace subpackage {
robotModeSub(unsigned char* din, clientData_t* dout) {
dataIn=din;
dataOut=dout;
};
}
virtual ~robotModeSub();
uint32_t parse();
@@ -51,7 +51,7 @@ namespace subpackage {
jointDataSub(unsigned char* din, clientData_t* dout) {
dataIn=din;
dataOut=dout;
};
}
virtual ~jointDataSub();
uint32_t parse();
@@ -62,7 +62,7 @@ namespace subpackage {
cartesianInfoSub(unsigned char* din, clientData_t* dout) {
dataIn=din;
dataOut=dout;
};
}
virtual ~cartesianInfoSub();
uint32_t parse();
@@ -73,7 +73,7 @@ namespace subpackage {
masterBoardSub(unsigned char* din, clientData_t* dout) {
dataIn=din;
dataOut=dout;
};
}
virtual ~masterBoardSub();
uint32_t parse();
@@ -84,7 +84,7 @@ namespace subpackage {
toolDataSub(unsigned char* din, clientData_t* dout) {
dataIn=din;
dataOut=dout;
};
}
virtual ~toolDataSub();
uint32_t parse();
@@ -95,7 +95,7 @@ namespace subpackage {
kineInfoSub(unsigned char* din, clientData_t* dout) {
dataIn=din;
dataOut=dout;
};
}
virtual ~kineInfoSub();
uint32_t parse();
@@ -106,7 +106,7 @@ namespace subpackage {
configurationSub(unsigned char* din, clientData_t* dout) {
dataIn=din;
dataOut=dout;
};
}
virtual ~configurationSub();
uint32_t parse();
@@ -117,7 +117,7 @@ namespace subpackage {
forceModeSub(unsigned char* din, clientData_t* dout) {
dataIn=din;
dataOut=dout;
};
}
virtual ~forceModeSub();
uint32_t parse();
@@ -128,7 +128,7 @@ namespace subpackage {
additionalInfoSub(unsigned char* din, clientData_t* dout) {
dataIn=din;
dataOut=dout;
};
}
virtual ~additionalInfoSub();
uint32_t parse();
@@ -139,7 +139,7 @@ namespace subpackage {
calibrationSub(unsigned char* din, clientData_t* dout) {
dataIn=din;
dataOut=dout;
};
}
virtual ~calibrationSub();
uint32_t parse();
@@ -150,7 +150,7 @@ namespace subpackage {
toolComSub(unsigned char* din, clientData_t* dout) {
dataIn=din;
dataOut=dout;
};
}
virtual ~toolComSub();
uint32_t parse();
@@ -161,7 +161,7 @@ namespace subpackage {
toolModeSub(unsigned char* din, clientData_t* dout) {
dataIn=din;
dataOut=dout;
};
}
virtual ~toolModeSub();
uint32_t parse();
@@ -171,7 +171,8 @@ namespace subpackage {
public:
versionSub(unsigned char* din, clientData_t* dout) {
dataIn=din;
dataOut=dout; };
dataOut=dout;
}
virtual ~versionSub();
uint32_t parse();

View File

@@ -273,6 +273,7 @@ typedef struct {
unsigned char feedriveButtonPressed;
unsigned char feedriveButtonEnabled;
unsigned char ioEnableFeedrive;
unsigned char foo;
} additionalInfo_t;
typedef struct {

View File

@@ -12,30 +12,30 @@ connection\autoconnect=false
connection\robotip=10.0.0.5
connection\robotport=30002
connection\robotretry=5
kine\dhtable\1\dha=3.246e-321
kine\dhtable\1\dhalpha=6.91983159050874e-310
kine\dhtable\1\dhd=6.9198315899621e-310
kine\dhtable\1\dhtheta=6.9198315899621e-310
kine\dhtable\2\dha=6.9198315903799e-310
kine\dhtable\2\dhalpha=3.56e-322
kine\dhtable\2\dhd=3.16e-322
kine\dhtable\2\dhtheta=6.91983159055775e-310
kine\dhtable\3\dha=6.9198315906463e-310
kine\dhtable\3\dhalpha=5e-324
kine\dhtable\3\dhd=3.36e-322
kine\dhtable\1\dha=6.94460589082162e-310
kine\dhtable\1\dhalpha=6.9446058912971e-310
kine\dhtable\1\dhd=1.099340831232476e+248
kine\dhtable\1\dhtheta=1.332e-320
kine\dhtable\2\dha=0
kine\dhtable\2\dhalpha=6.9446058912884e-310
kine\dhtable\2\dhd=1.3849777432376169e+219
kine\dhtable\2\dhtheta=6.9446058913382e-310
kine\dhtable\3\dha=0
kine\dhtable\3\dhalpha=5.53e-322
kine\dhtable\3\dhd=2.44861994589e-312
kine\dhtable\3\dhtheta=8e-323
kine\dhtable\4\dha=0
kine\dhtable\4\dhalpha=0
kine\dhtable\4\dhd=6.91983159056645e-310
kine\dhtable\4\dha=2.37e-322
kine\dhtable\4\dhalpha=2.37e-322
kine\dhtable\4\dhd=0
kine\dhtable\4\dhtheta=0
kine\dhtable\5\dha=1.63e-322
kine\dhtable\5\dhalpha=1.35e-321
kine\dhtable\5\dhd=0
kine\dhtable\5\dhtheta=3.2e-322
kine\dhtable\6\dha=6.9198315905554e-310
kine\dhtable\6\dhalpha=6.9198315903799e-310
kine\dhtable\6\dhd=0
kine\dhtable\6\dhtheta=6.9198315899621e-310
kine\dhtable\5\dha=2.57e-322
kine\dhtable\5\dhalpha=2.57e-322
kine\dhtable\5\dhd=2.06e-321
kine\dhtable\5\dhtheta=8.74e-322
kine\dhtable\6\dha=6.9446058915066e-310
kine\dhtable\6\dhalpha=6.9446058913493e-310
kine\dhtable\6\dhd=6.94460589137854e-310
kine\dhtable\6\dhtheta=6.94460589137854e-310
kine\dhtable\size=6
kine\maxreach=@Variant(\0\0\0\x87?\x99\x99\x9a)
kine\prefix=0