93 for (
unsigned int i = 0; i < 10; ++i) {
95 unsigned char request[8];
96 uint16_t val1 = htons(0x1234);
97 uint16_t val2 = htons(0x0002);
98 uint32_t val3 = htons(0);
99 memcpy(&request[0], &val1,
sizeof(val1));
100 memcpy(&request[2], &val2,
sizeof(val2));
101 memcpy(&request[4], &val3,
sizeof(val3));
104 if (
send(request, len) != len) {
107 std::cout <<
"wait: " << i << std::endl;
132 unsigned char request[8];
133 uint16_t val1 = htons(0x1234);
134 uint16_t val2 = htons(0x0002);
135 uint32_t val3 = htons(0);
136 memcpy(&request[0], &val1,
sizeof(val1));
137 memcpy(&request[2], &val2,
sizeof(val2));
138 memcpy(&request[4], &val3,
sizeof(val3));
141 if (
send(request, len) != len) {
244 unsigned char response[36];
246 if (
receive((
void *)response, 36)) {
247 uint32_t resp1, resp2, resp3;
248 memcpy(&resp1, &response[0],
sizeof(uint32_t));
249 memcpy(&resp2, &response[4],
sizeof(uint32_t));
250 memcpy(&resp3, &response[8],
sizeof(uint32_t));
251 resp.rdt_sequence = ntohl(resp1);
252 resp.ft_sequence = ntohl(resp2);
253 resp.status = ntohl(resp3);
255 for (
int i = 0; i < 6; i++) {
257 memcpy(&resp4, &response[12 + i * 4],
sizeof(int32_t));
258 resp.FTData[i] = ntohl(resp4);
267 for (
int i = 0; i < 3; i++) {
268 m_ft[i] = resp.FTData[i] * force_factor;
270 for (
int i = 3; i < 6; i++) {
271 m_ft[i] = resp.FTData[i] * torque_factor;