void ServerW::readClient(int socketClient) { int ret; char buf[4096]; WSABUF buff; DWORD RecvBytes, Flags; TrameTcp trame; buff.buf = buf; buff.len = 4096; Flags = 0; ret = WSARecv(socketClient, &buff, 1, &RecvBytes, &Flags, NULL, NULL); if (ret == SOCKET_ERROR || RecvBytes == 0) { std::cout << "Client [" << socketClient << "] disconnected." << std::endl; _fdType[socketClient] = FD_FREE; closesocket(socketClient); } else { buff.buf[RecvBytes - 1] = 0; memcpy(&trame, buff.buf, sizeof(TrameTcp)); std::cout << "MESSAGE RECEIVED FROM [" << socketClient << "]" << std::endl; std::cout << trame.code << std::endl; std::cout << trame.dest << std::endl; std::cout << trame.data << std::endl; sendInstruction(socketClient, 201, "Galdan", "Salut"); } }
void IsimControl::setDxlPosition(float leftAngle, float rightAngle){ float dxlPosition[2]; dxlPosition[0] = leftAngle; dxlPosition[1] = rightAngle; this->ldxlValue = leftAngle; this->rdxlValue = rightAngle; sendInstruction(0x02, 0x04, dxlPosition); return; }
void IsimControl::setWheelSpeed(float leftSpeed, float rightSpeed){ float wheelSpeed[2]; wheelSpeed[0] = leftSpeed; wheelSpeed[1] = rightSpeed; this->lmotorValue = leftSpeed; this->rmotorValue = rightSpeed; sendInstruction(0x02, 0x01, wheelSpeed); return; }
void IsimControl::setMagnetPower(float leftMagnet, float rightManget){ float magnetPower[2]; magnetPower[0] = leftMagnet; magnetPower[1] = rightManget; this->lmagnetValue = leftMagnet; this->rmagnetValue = rightManget; sendInstruction(0x02, 0x03, magnetPower); return; }
void clearOneCharacter() { sendInstruction(0x04); //zmieniamy kierunek wpisywania na odwrotny sendData(32); //wpisujemy spacje sendInstruction(0x06); //zmieniamy na pierwotny kierunek }
void IsimControl::updateSwitchPressed(){ float SWaddress = 2.0f; sendInstruction(0x01, 0x06, &SWaddress); }
void IsimControl::updateYaw(){ float GYaddress = 1.0f; sendInstruction(0x01, 0x06, &GYaddress); }
void IsimControl::updateGyroscopeData(){ float GYaddress = 1.0f; sendInstruction(0x01, 0x06, &GYaddress); }