Update of /cvsroot/playerstage/code/player/server/drivers/position/vfh
In directory
sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv11860/server/drivers/position/vfh
Modified Files:
Tag: b_thjc_dynamic_arrays
vfh_algorithm.h .cvsignore vfh.cc vfh_algorithm.cc
Log Message:
dynamic array changes to drivers compile, still needs testing
added lots more .cvsignore settings for eclipse
Index: .cvsignore
===================================================================
RCS file:
/cvsroot/playerstage/code/player/server/drivers/position/vfh/.cvsignore,v
retrieving revision 1.1.16.1
retrieving revision 1.1.16.2
diff -C2 -d -r1.1.16.1 -r1.1.16.2
*** .cvsignore 10 Oct 2007 09:26:14 -0000 1.1.16.1
--- .cvsignore 19 Oct 2007 21:58:58 -0000 1.1.16.2
***************
*** 4,5 ****
--- 4,7 ----
*.la
*.a
+ .libs
+ *.lo
Index: vfh_algorithm.cc
===================================================================
RCS file:
/cvsroot/playerstage/code/player/server/drivers/position/vfh/vfh_algorithm.cc,v
retrieving revision 1.9
retrieving revision 1.9.4.1
diff -C2 -d -r1.9 -r1.9.4.1
*** vfh_algorithm.cc 20 Jan 2006 21:26:31 -0000 1.9
--- vfh_algorithm.cc 19 Oct 2007 21:58:58 -0000 1.9.4.1
***************
*** 404,408 ****
}
! int VFH_Algorithm::Update_VFH( double
laser_ranges[PLAYER_LASER_MAX_SAMPLES][2],
int current_speed,
float goal_direction,
--- 404,408 ----
}
! int VFH_Algorithm::Update_VFH( double (*laser_ranges)[2],
int current_speed,
float goal_direction,
***************
*** 858,862 ****
}
! int VFH_Algorithm::Calculate_Cells_Mag( double
laser_ranges[PLAYER_LASER_MAX_SAMPLES][2], int speed )
{
int x, y;
--- 858,862 ----
}
! int VFH_Algorithm::Calculate_Cells_Mag( double (*laser_ranges)[2], int speed
)
{
int x, y;
***************
*** 910,914 ****
}
! int VFH_Algorithm::Build_Primary_Polar_Histogram( double
laser_ranges[PLAYER_LASER_MAX_SAMPLES][2], int speed )
{
int x, y;
--- 910,914 ----
}
! int VFH_Algorithm::Build_Primary_Polar_Histogram( double (*laser_ranges)[2],
int speed )
{
int x, y;
Index: vfh.cc
===================================================================
RCS file: /cvsroot/playerstage/code/player/server/drivers/position/vfh/vfh.cc,v
retrieving revision 1.79
retrieving revision 1.79.2.1
diff -C2 -d -r1.79 -r1.79.2.1
*** vfh.cc 23 Aug 2007 19:58:47 -0000 1.79
--- vfh.cc 19 Oct 2007 21:58:58 -0000 1.79.2.1
***************
*** 281,289 ****
player_devaddr_t sonar_addr;
int num_sonars;
! player_pose3d_t sonar_poses[PLAYER_SONAR_MAX_SAMPLES];
// Laser range and bearing values
int laser_count;
! double laser_ranges[PLAYER_LASER_MAX_SAMPLES][2];
// Control velocity
--- 281,289 ----
player_devaddr_t sonar_addr;
int num_sonars;
! player_pose3d_t * sonar_poses;
// Laser range and bearing values
int laser_count;
! double (*laser_ranges)[2];
// Control velocity
***************
*** 436,444 ****
this->laser_count = 0;
! for(int i=0;i<PLAYER_LASER_MAX_SAMPLES;i++)
! {
! this->laser_ranges[i][0] = 0;
! this->laser_ranges[i][1] = 0;
! }
return 0;
}
--- 436,440 ----
this->laser_count = 0;
! this->laser_ranges = NULL;
return 0;
}
***************
*** 475,478 ****
--- 471,475 ----
cfg = (player_sonar_geom_t*)msg->GetPayload();
this->num_sonars = cfg->poses_count;
+ this->sonar_poses = new player_pose3d_t[num_sonars];
for(int i=0;i<this->num_sonars;i++)
{
***************
*** 483,491 ****
this->laser_count = 0;
! for(int i=0;i<PLAYER_LASER_MAX_SAMPLES;i++)
! {
! this->laser_ranges[i][0] = 0;
! this->laser_ranges[i][1] = 0;
! }
return 0;
}
--- 480,484 ----
this->laser_count = 0;
! this->laser_ranges = NULL;
return 0;
}
***************
*** 497,500 ****
--- 490,495 ----
{
this->laser->Unsubscribe(this->InQueue);
+ delete [] laser_ranges;
+ laser_ranges = NULL;
return 0;
}
***************
*** 505,508 ****
--- 500,507 ----
{
this->sonar->Unsubscribe(this->InQueue);
+ delete [] laser_ranges;
+ laser_ranges = NULL;
+ delete [] sonar_poses;
+ sonar_poses = NULL;
return 0;
}
***************
*** 542,549 ****
this->laser_count = 181;
! assert(this->laser_count <
! (int)sizeof(this->laser_ranges) /
(int)sizeof(this->laser_ranges[0]));
! for(i = 0; i < PLAYER_LASER_MAX_SAMPLES; i++)
this->laser_ranges[i][0] = -1;
--- 541,548 ----
this->laser_count = 181;
! if (!laser_ranges)
! this->laser_ranges = new double[laser_count][2];
! for(i = 0; i < laser_count; i++)
this->laser_ranges[i][0] = -1;
***************
*** 560,564 ****
r = 1000000.0;
! for (i = 0; i < PLAYER_LASER_MAX_SAMPLES; i++)
{
if (this->laser_ranges[i][0] != -1) {
--- 559,563 ----
r = 1000000.0;
! for (i = 0; i < laser_count; i++)
{
if (this->laser_ranges[i][0] != -1) {
***************
*** 582,589 ****
this->laser_count = count;
! assert(this->laser_count <
! (int)sizeof(this->laser_ranges) /
(int)sizeof(this->laser_ranges[0]));
!
! for(i = 0; i < PLAYER_LASER_MAX_SAMPLES; i++)
this->laser_ranges[i][0] = -1;
--- 581,588 ----
this->laser_count = count;
! if (!laser_ranges)
! this->laser_ranges = new double[laser_count][2];
!
! for(i = 0; i < laser_count; i++)
this->laser_ranges[i][0] = -1;
***************
*** 610,614 ****
r = 1000000.0;
! for (i = 0; i < PLAYER_LASER_MAX_SAMPLES; i++)
{
if (this->laser_ranges[i][0] != -1) {
--- 609,613 ----
r = 1000000.0;
! for (i = 0; i < laser_count; i++)
{
if (this->laser_ranges[i][0] != -1) {
Index: vfh_algorithm.h
===================================================================
RCS file:
/cvsroot/playerstage/code/player/server/drivers/position/vfh/vfh_algorithm.h,v
retrieving revision 1.6
retrieving revision 1.6.4.1
diff -C2 -d -r1.6 -r1.6.4.1
*** vfh_algorithm.h 20 Jan 2006 21:26:31 -0000 1.6
--- vfh_algorithm.h 19 Oct 2007 21:58:58 -0000 1.6.4.1
***************
*** 59,63 ****
// - goal_distance_tolerance in mm.
//
! int Update_VFH( double laser_ranges[PLAYER_LASER_MAX_SAMPLES][2],
int current_speed,
float goal_direction,
--- 59,63 ----
// - goal_distance_tolerance in mm.
//
! int Update_VFH( double (*laser_ranges)[2],
int current_speed,
float goal_direction,
***************
*** 101,107 ****
// Returns 0 if something got inside the safety distance, else 1.
! int Calculate_Cells_Mag( double
laser_ranges[PLAYER_LASER_MAX_SAMPLES][2], int speed );
// Returns 0 if something got inside the safety distance, else 1.
! int Build_Primary_Polar_Histogram( double
laser_ranges[PLAYER_LASER_MAX_SAMPLES][2], int speed );
int Build_Binary_Polar_Histogram(int speed);
int Build_Masked_Polar_Histogram(int speed);
--- 101,107 ----
// Returns 0 if something got inside the safety distance, else 1.
! int Calculate_Cells_Mag( double (*laser_ranges)[2], int speed );
// Returns 0 if something got inside the safety distance, else 1.
! int Build_Primary_Polar_Histogram( double (*laser_ranges)[2], int speed );
int Build_Binary_Polar_Histogram(int speed);
int Build_Masked_Polar_Histogram(int speed);
-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
Playerstage-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/playerstage-commit