Revision: 7064
http://playerstage.svn.sourceforge.net/playerstage/?rev=7064&view=rev
Author: gbiggs
Date: 2008-10-06 01:23:34 +0000 (Mon, 06 Oct 2008)
Log Message:
-----------
Applied patch 2147767
Modified Paths:
--------------
code/player/branches/release-2-1-patches/server/drivers/joystick/linuxjoy.cc
Modified:
code/player/branches/release-2-1-patches/server/drivers/joystick/linuxjoy.cc
===================================================================
---
code/player/branches/release-2-1-patches/server/drivers/joystick/linuxjoy.cc
2008-10-06 01:22:47 UTC (rev 7063)
+++
code/player/branches/release-2-1-patches/server/drivers/joystick/linuxjoy.cc
2008-10-06 01:23:34 UTC (rev 7064)
@@ -223,7 +223,6 @@
#include <replace/replace.h> // for poll(2)
#include <libplayercore/playercore.h>
#include <libplayercore/error.h>
-#include <iostream>
extern PlayerTime *GlobalTime;
@@ -412,42 +411,18 @@
this->position = NULL;
// If we're asked, open the position2d device
- if(this->cmd_position_addr.interf)
+ if (this->cmd_position_addr.interf)
{
- if(!(this->position = deviceTable->GetDevice(this->cmd_position_addr)))
+ if (!(this->position = deviceTable->GetDevice(this->cmd_position_addr)))
{
PLAYER_ERROR("unable to locate suitable position2d device");
return -1;
}
- if(this->position->Subscribe(this->InQueue) != 0)
+ if (this->position->Subscribe(this->InQueue) != 0)
{
PLAYER_ERROR("unable to subscribe to position2d device");
return -1;
}
-
- // Enable the motors
- player_position2d_power_config_t motorconfig;
- motorconfig.state = 1;
- Message* msg;
- if(!(msg = this->position->Request(this->InQueue,
- PLAYER_MSGTYPE_REQ,
- PLAYER_POSITION2D_REQ_MOTOR_POWER,
- (void*)&motorconfig,
- sizeof(motorconfig),NULL,false)))
- {
- PLAYER_WARN("failed to enable motors");
- }
- else
- delete msg;
-
- // Stop the robot
- player_position2d_cmd_vel_t cmd;
- memset(&cmd,0,sizeof(cmd));
- this->position->PutMsg(this->InQueue,
- PLAYER_MSGTYPE_CMD,
- PLAYER_POSITION2D_CMD_VEL,
- (void*)&cmd, sizeof(player_position2d_cmd_vel_t),
- NULL);
}
this->gripper = NULL;
// If we're asked, open the gripper device
@@ -503,6 +478,33 @@
// Main function for device thread
void LinuxJoystick::Main()
{
+ if (this->cmd_position_addr.interf)
+ {
+ // Enable the motors
+ player_position2d_power_config_t motorconfig;
+ memset(&motorconfig, 0, sizeof motorconfig);
+ motorconfig.state = 1;
+ Message* msg;
+ if (!(msg = this->position->Request(this->InQueue,
+ PLAYER_MSGTYPE_REQ,
+ PLAYER_POSITION2D_REQ_MOTOR_POWER,
+ reinterpret_cast<void *>(&motorconfig),
+ sizeof motorconfig, NULL)))
+ {
+ PLAYER_WARN("failed to enable motors");
+ }
+ else
+ delete msg;
+
+ // Stop the robot
+ player_position2d_cmd_vel_t cmd;
+ memset(&cmd, 0, sizeof cmd);
+ this->position->PutMsg(this->InQueue,
+ PLAYER_MSGTYPE_CMD,
+ PLAYER_POSITION2D_CMD_VEL,
+ reinterpret_cast<void *>(&cmd), sizeof cmd,
+ NULL);
+ }
// The main loop; interact with the device here
while (true)
{
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Playerstage-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/playerstage-commit