Revision: 6977 http://playerstage.svn.sourceforge.net/playerstage/?rev=6977&view=rev Author: gbiggs Date: 2008-08-25 00:58:33 +0000 (Mon, 25 Aug 2008)
Log Message: ----------- Applied patch 2062373 Modified Paths: -------------- code/player/trunk/client_libs/libplayerc/dev_ranger.c code/player/trunk/client_libs/libplayerc++/actarrayproxy.cc code/player/trunk/client_libs/libplayerc++/audioproxy.cc code/player/trunk/client_libs/libplayerc++/cameraproxy.cc code/player/trunk/client_libs/libplayerc++/limbproxy.cc code/player/trunk/cmake/internal/FindOS.cmake code/player/trunk/cmake/internal/SearchForStuff.cmake code/player/trunk/server/drivers/blackboard/localbb/localbb.cpp code/player/trunk/server/drivers/mixed/mricp/src/Timer.cpp code/player/trunk/server/drivers/mixed/mricp/src/mricp_driver.cpp code/player/trunk/server/drivers/wsn/accel_calib.cc code/player/trunk/server/drivers/wsn/mica2.cc code/player/trunk/utils/logsplitter/logsplitter.c code/player/trunk/utils/playercam/playercam.c code/player/trunk/utils/playerv/pv_dev_actarray.c code/player/trunk/utils/playerv/pv_dev_gripper.c code/player/trunk/utils/playerv/pv_dev_vectormap.c Modified: code/player/trunk/client_libs/libplayerc/dev_ranger.c =================================================================== --- code/player/trunk/client_libs/libplayerc/dev_ranger.c 2008-08-22 18:19:44 UTC (rev 6976) +++ code/player/trunk/client_libs/libplayerc/dev_ranger.c 2008-08-25 00:58:33 UTC (rev 6977) @@ -52,7 +52,7 @@ { playerc_ranger_t *device; - device = malloc(sizeof(playerc_ranger_t)); + device = (playerc_ranger_t*) malloc(sizeof(playerc_ranger_t)); memset(device, 0, sizeof(playerc_ranger_t)); playerc_device_init(&device->info, client, PLAYER_RANGER_CODE, index, (playerc_putmsg_fn_t) playerc_ranger_putmsg); @@ -98,6 +98,9 @@ // Calculate bearings void playerc_ranger_calculate_bearings(playerc_ranger_t *device) { + double b; + uint32_t ii; + device->bearings_count = device->ranges_count; if (device->bearings_count == 0 && device->bearings != NULL) { @@ -113,8 +116,7 @@ return; } - double b = device->min_angle; - uint32_t ii; + b = device->min_angle; for (ii = 0; ii < device->bearings_count; ii++) { device->bearings[ii] = b; @@ -127,6 +129,9 @@ // Calculate scan points void playerc_ranger_calculate_points(playerc_ranger_t *device) { + double b; + uint32_t ii; + device->points_count = device->ranges_count; if (device->points_count == 0 && device->points != NULL) { @@ -142,8 +147,7 @@ return; } - double b = device->min_angle; - uint32_t ii; + b = device->min_angle; for (ii = 0; ii < device->points_count; ii++) { double r = device->ranges[ii]; Modified: code/player/trunk/client_libs/libplayerc++/actarrayproxy.cc =================================================================== --- code/player/trunk/client_libs/libplayerc++/actarrayproxy.cc 2008-08-22 18:19:44 UTC (rev 6976) +++ code/player/trunk/client_libs/libplayerc++/actarrayproxy.cc 2008-08-25 00:58:33 UTC (rev 6977) @@ -48,6 +48,7 @@ #include <sstream> #include <iomanip> #include <vector> +#include <iostream> #include "playerc++.h" #include "debug.h" @@ -94,7 +95,7 @@ player_actarray_actuatorgeom_t geom; int old_precision = os.precision(3); - std::_Ios_Fmtflags old_flags = os.flags(); + std::ios::fmtflags old_flags = os.flags(); os.setf(std::ios::fixed); os << a.GetCount () << " actuators:" << std::endl; Modified: code/player/trunk/client_libs/libplayerc++/audioproxy.cc =================================================================== --- code/player/trunk/client_libs/libplayerc++/audioproxy.cc 2008-08-22 18:19:44 UTC (rev 6976) +++ code/player/trunk/client_libs/libplayerc++/audioproxy.cc 2008-08-25 00:58:33 UTC (rev 6977) @@ -47,6 +47,7 @@ #include <cassert> #include <sstream> #include <iomanip> +#include <iostream> #include "playerc++.h" #include "debug.h" @@ -93,7 +94,7 @@ player_audio_mixer_channel_t channel; int old_precision = os.precision(3); - std::_Ios_Fmtflags old_flags = os.flags(); + std::ios::fmtflags old_flags = os.flags(); os.setf(std::ios::fixed); int NumChannelDetails = a.GetMixerDetailsCount(); Modified: code/player/trunk/client_libs/libplayerc++/cameraproxy.cc =================================================================== --- code/player/trunk/client_libs/libplayerc++/cameraproxy.cc 2008-08-22 18:19:44 UTC (rev 6976) +++ code/player/trunk/client_libs/libplayerc++/cameraproxy.cc 2008-08-25 00:58:33 UTC (rev 6977) @@ -46,6 +46,9 @@ #include <cassert> #include <sstream> #include <iomanip> +#if __GNUC__ > 2 + #include <locale> +#endif #include "playerc++.h" #include "debug.h" @@ -95,7 +98,9 @@ CameraProxy::SaveFrame(const std::string aPrefix, uint32_t aWidth) { std::ostringstream filename; +#if __GNUC__ > 2 filename.imbue(std::locale("")); +#endif filename.fill('0'); filename << aPrefix << std::setw(aWidth) << mFrameNo++; Modified: code/player/trunk/client_libs/libplayerc++/limbproxy.cc =================================================================== --- code/player/trunk/client_libs/libplayerc++/limbproxy.cc 2008-08-22 18:19:44 UTC (rev 6976) +++ code/player/trunk/client_libs/libplayerc++/limbproxy.cc 2008-08-25 00:58:33 UTC (rev 6977) @@ -47,6 +47,7 @@ #include <cassert> #include <sstream> #include <iomanip> +#include <iostream> #include "playerc++.h" #include "debug.h" @@ -94,7 +95,7 @@ player_limb_geom_req_t geom = a.GetGeom (); int old_precision = os.precision(3); - std::_Ios_Fmtflags old_flags = os.flags(); + std::ios::fmtflags old_flags = os.flags(); os.setf(std::ios::fixed); os << "Limb offset: " << geom.basePos.px << ", " << geom.basePos.py << ", " << geom.basePos.pz << endl; Modified: code/player/trunk/cmake/internal/FindOS.cmake =================================================================== --- code/player/trunk/cmake/internal/FindOS.cmake 2008-08-22 18:19:44 UTC (rev 6976) +++ code/player/trunk/cmake/internal/FindOS.cmake 2008-08-25 00:58:33 UTC (rev 6977) @@ -5,7 +5,7 @@ # Nor *BSD STRING (REGEX MATCH "BSD" PLAYER_OS_BSD ${CMAKE_SYSTEM_NAME}) # Or Solaris. I'm seeing a trend, here -STRING (REGEX MATCH "Solaris" PLAYER_OS_SOLARIS ${CMAKE_SYSTEM_NAME}) +STRING (REGEX MATCH "SunOS" PLAYER_OS_SOLARIS ${CMAKE_SYSTEM_NAME}) # Windows is easy (for once) IF (WIN32) Modified: code/player/trunk/cmake/internal/SearchForStuff.cmake =================================================================== --- code/player/trunk/cmake/internal/SearchForStuff.cmake 2008-08-22 18:19:44 UTC (rev 6976) +++ code/player/trunk/cmake/internal/SearchForStuff.cmake 2008-08-25 00:58:33 UTC (rev 6977) @@ -37,6 +37,7 @@ CHECK_INCLUDE_FILES (stdint.h HAVE_STDINT_H) CHECK_INCLUDE_FILES (strings.h HAVE_STRINGS_H) CHECK_INCLUDE_FILES (dns_sd.h HAVE_DNS_SD) +CHECK_INCLUDE_FILES (sys/filio.h HAVE_SYS_FILIO_H) IF (HAVE_DNS_SD) CHECK_LIBRARY_EXISTS (dns_sd DNSServiceRefDeallocate "${PLAYER_EXTRA_LIB_DIRS}" HAVE_DNS_SD) ENDIF (HAVE_DNS_SD) Modified: code/player/trunk/server/drivers/blackboard/localbb/localbb.cpp =================================================================== --- code/player/trunk/server/drivers/blackboard/localbb/localbb.cpp 2008-08-22 18:19:44 UTC (rev 6976) +++ code/player/trunk/server/drivers/blackboard/localbb/localbb.cpp 2008-08-25 00:58:33 UTC (rev 6977) @@ -66,13 +66,15 @@ /** @} */ #include <sys/types.h> // required by Darwin -#include <stdlib.h> #include <libplayercore/playercore.h> #include <libplayercore/error.h> #include <vector> #include <map> -#include <strings.h> #include <iostream> +#include <cstdlib> +#include <cstddef> +#include <string> +#include <cstring> bool operator ==(const player_devaddr_t &a, const player_devaddr_t &b); bool operator <(const player_devaddr_t &a, const player_devaddr_t &b); @@ -108,9 +110,9 @@ BlackBoardEntry() { key = ""; group = ""; } /** Entry label */ - string key; + std::string key; /** Secondary identifier. */ - string group; + std::string group; /** Entry data */ EntryData data; } BlackBoardEntry; @@ -154,8 +156,8 @@ BlackBoardEntry result; result.data.type = entry.type; result.data.subtype = entry.subtype; - result.key = string(entry.key); - result.group = string(entry.group); + result.key = std::string(entry.key); + result.group = std::string(entry.group); result.data.data_count = entry.data_count; result.data.data = new uint8_t[result.data.data_count]; memcpy(result.data.data, entry.data, result.data.data_count); @@ -258,26 +260,26 @@ * @param group Second identifier. * @param resp_queue Player response queue of the subscriber. */ - BlackBoardEntry SubscribeKey(const string &key, const string &group, const QueuePointer &resp_queue, const player_devaddr_t addr); + BlackBoardEntry SubscribeKey(const std::string &key, const std::string &group, const QueuePointer &resp_queue, const player_devaddr_t addr); /** @brief Remove the key and queue combination from the listeners hash-map. * @param key Entry key. * @param group Second identifier. * @param qp Player response queue of the unsubscriber. * @return Blackboard entry containing the value of the key and group. */ - void UnsubscribeKey(const string &key, const string &group, const QueuePointer &qp); + void UnsubscribeKey(const std::string &key, const std::string &group, const QueuePointer &qp); /** @brief Add a group to the group listeners hash-map and return all entries of that group * @param group Entry gruop * @param qp resp_queue Player response queue of the subscriber * @return Vector of blackboard entries of that group */ - vector<BlackBoardEntry> SubscribeGroup(const string &group, const QueuePointer &qp, const player_devaddr_t addr); + vector<BlackBoardEntry> SubscribeGroup(const std::string &group, const QueuePointer &qp, const player_devaddr_t addr); /** * @brief Remove the group from the group listeners hash-map. * @param group Entry group * @param qp Player response queue of the unsubscriber */ - void UnsubscribeGroup(const string &group, const QueuePointer &qp); + void UnsubscribeGroup(const std::string &group, const QueuePointer &qp); /** @brief Set the entry in the entries hashmap. * * @param entry BlackBoardEntry that must be put in the hashmap. @@ -295,16 +297,16 @@ * map<group, map<key, entry> > */ - map<string, map<string, BlackBoardEntry> > entries; + map<std::string, map<std::string, BlackBoardEntry> > entries; /** Map of labels to listening queues. * map<group, map<key, vector<device queue> > > */ - map<string, map<string, vector<QueuePointer> > > listeners; + map<std::string, map<std::string, vector<QueuePointer> > > listeners; /** Map of groups to queues subscribed to groups. * map<group, vector<device queue> > */ - map<string, vector<QueuePointer> > group_listeners; + map<std::string, vector<QueuePointer> > group_listeners; /** Map of queues to devices. Used to remove unneeded queues when a device is unsubscribed. */ map<player_devaddr_t, QueuePointer> subscribed_devices; @@ -314,10 +316,10 @@ int LocalBB::Unsubscribe(player_devaddr_t addr) { QueuePointer &qp = subscribed_devices[addr]; - for (map<string, map<string, vector<QueuePointer> > >::iterator itr = listeners.begin(); itr != listeners.end(); itr++) + for (map<std::string, map<std::string, vector<QueuePointer> > >::iterator itr = listeners.begin(); itr != listeners.end(); itr++) { - map<string, vector<QueuePointer> > &keys = (*itr).second; - for (map<string, vector<QueuePointer> >::iterator jtr = keys.begin(); jtr != keys.end(); jtr++) + map<std::string, vector<QueuePointer> > &keys = (*itr).second; + for (map<std::string, vector<QueuePointer> >::iterator jtr = keys.begin(); jtr != keys.end(); jtr++) { vector<QueuePointer> &qps = (*jtr).second; vector<vector<QueuePointer>::iterator> remove_list; @@ -335,7 +337,7 @@ } } - for (map<string, vector<QueuePointer> >::iterator itr = group_listeners.begin(); itr != group_listeners.end(); itr++) + for (map<std::string, vector<QueuePointer> >::iterator itr = group_listeners.begin(); itr != group_listeners.end(); itr++) { vector<QueuePointer> &qps = (*itr).second; vector<vector<QueuePointer>::iterator> remove_list; @@ -497,7 +499,7 @@ // Retrieve the entry for the key player_blackboard_entry_t *request = reinterpret_cast<player_blackboard_entry_t*>(data); - BlackBoardEntry current_value = entries[string(request->group)][string(request->key)]; + BlackBoardEntry current_value = entries[std::string(request->group)][std::string(request->key)]; // Convert the entry player_blackboard_entry_t response = ToPlayerBlackBoardEntry(current_value); @@ -685,7 +687,7 @@ //////////////////////////////////////////////////////////////////////////////// // Add a device to the listener list for a key. Return the current value of the entry. -BlackBoardEntry LocalBB::SubscribeKey(const string &key, const string &group, const QueuePointer &resp_queue, const player_devaddr_t addr) +BlackBoardEntry LocalBB::SubscribeKey(const std::string &key, const std::string &group, const QueuePointer &resp_queue, const player_devaddr_t addr) { listeners[group][key].push_back(resp_queue); subscribed_devices[addr] = resp_queue; @@ -700,7 +702,7 @@ //////////////////////////////////////////////////////////////////////////////// // Remove a device from the listener list for a key. -void LocalBB::UnsubscribeKey(const string &key, const string &group, const QueuePointer &qp) +void LocalBB::UnsubscribeKey(const std::string &key, const std::string &group, const QueuePointer &qp) { vector<QueuePointer> &devices = listeners[group][key]; @@ -716,16 +718,16 @@ //////////////////////////////////////////////////////////////////////////////// // Add a device to the group listener map. Return vector of entries for that group. -vector<BlackBoardEntry> LocalBB::SubscribeGroup(const string &group, const QueuePointer &qp, const player_devaddr_t addr) +vector<BlackBoardEntry> LocalBB::SubscribeGroup(const std::string &group, const QueuePointer &qp, const player_devaddr_t addr) { group_listeners[group].push_back(qp); subscribed_devices[addr] = qp; vector<BlackBoardEntry> group_entries; //map<group, map<key, entry> > - map<string, BlackBoardEntry> &entry_map = entries[group]; + map<std::string, BlackBoardEntry> &entry_map = entries[group]; - for (map<string, BlackBoardEntry>::iterator itr = entry_map.begin(); itr != entry_map.end(); itr++) + for (map<std::string, BlackBoardEntry>::iterator itr = entry_map.begin(); itr != entry_map.end(); itr++) { BlackBoardEntry current_value = (*itr).second; if (current_value.key == "") @@ -743,7 +745,7 @@ //////////////////////////////////////////////////////////////////////////////// // Remove a device from the group listener map -void LocalBB::UnsubscribeGroup(const string &group, const QueuePointer &qp) +void LocalBB::UnsubscribeGroup(const std::string &group, const QueuePointer &qp) { vector<QueuePointer> &devices = group_listeners[group]; Modified: code/player/trunk/server/drivers/mixed/mricp/src/Timer.cpp =================================================================== --- code/player/trunk/server/drivers/mixed/mricp/src/Timer.cpp 2008-08-22 18:19:44 UTC (rev 6976) +++ code/player/trunk/server/drivers/mixed/mricp/src/Timer.cpp 2008-08-25 00:58:33 UTC (rev 6977) @@ -1,4 +1,6 @@ #include "Timer.h" +#include <ctime> +#include <cstddef> Timer::Timer() { @@ -7,8 +9,8 @@ double Timer::TimeElapsed() // return in usec { gettimeofday(&end_time,NULL); - time_diff = ((double) end_time.tv_sec*1e6 + (double)end_time.tv_usec) - - ((double) start_time.tv_sec*1e6 + (double)start_time.tv_usec); + time_diff = ((double) end_time.tv_sec*1000000 + (double)end_time.tv_usec) - + ((double) start_time.tv_sec*1000000 + (double)start_time.tv_usec); return time_diff; } Timer::~Timer() @@ -20,7 +22,17 @@ } void Timer::Synch(double period) { + struct timespec ts; + int us; + double time_elapsed = this->TimeElapsed(); - if( time_elapsed < period*1e3) - usleep((int)(period*1e3 -time_elapsed)); + if( time_elapsed < period*1000) + usleep((int)(period*1000 -time_elapsed)); + if (time_elapsed < (period*1000)) + { + us = static_cast<int>(period*1000-time_elapsed); + ts.tv_sec = us/1000000; + ts.tv_nsec = (us%1000000)*1000; + nanosleep(&ts, NULL); + } } Modified: code/player/trunk/server/drivers/mixed/mricp/src/mricp_driver.cpp =================================================================== --- code/player/trunk/server/drivers/mixed/mricp/src/mricp_driver.cpp 2008-08-22 18:19:44 UTC (rev 6976) +++ code/player/trunk/server/drivers/mixed/mricp/src/mricp_driver.cpp 2008-08-25 00:58:33 UTC (rev 6977) @@ -36,22 +36,24 @@ #include <sys/time.h> #include <fcntl.h> #include <termios.h> -#include <stdio.h> -#include <strings.h> +#include <cstdio> #include <unistd.h> -#include <stdlib.h> -#include <errno.h> -#include <string.h> +#include <cstdlib> +#include <cstddef> +#include <cerrno> +#include <cstring> +#include <string> #include <pthread.h> -#include <math.h> +#include <cmath> #include <fstream> #include <iostream> -#include <signal.h> +#include <csignal> +#include <vector> #include <netinet/in.h> // Player includes #include <libplayercore/playercore.h> -#include <assert.h> +#include <cassert> #include "icp.h" #include "map.h" #include "lasermodel.h" Modified: code/player/trunk/server/drivers/wsn/accel_calib.cc =================================================================== --- code/player/trunk/server/drivers/wsn/accel_calib.cc 2008-08-22 18:19:44 UTC (rev 6976) +++ code/player/trunk/server/drivers/wsn/accel_calib.cc 2008-08-25 00:58:33 UTC (rev 6977) @@ -383,13 +383,11 @@ NodeCalibrationValues Accel_Calib::FindNodeValues (unsigned int nodeID) { NodeCalibrationValues n; + NCV::iterator it; - unsigned int i = 0; - - for (i = 0; i < ncv.size (); i++) + for (it = ncv.begin (); it != ncv.end (); it++) { - n = ncv.at (i); - + n = *it; if (n.node_id == nodeID) break; } Modified: code/player/trunk/server/drivers/wsn/mica2.cc =================================================================== --- code/player/trunk/server/drivers/wsn/mica2.cc 2008-08-22 18:19:44 UTC (rev 6976) +++ code/player/trunk/server/drivers/wsn/mica2.cc 2008-08-25 00:58:33 UTC (rev 6977) @@ -883,15 +883,13 @@ NodeCalibrationValues Mica2::FindNodeValues (unsigned int nodeID) { NodeCalibrationValues n; + NCV::iterator it; - unsigned int i = 0; - - for (i = 0; i < ncv.size (); i++) + for (it = ncv.begin (); it != ncv.end (); it++) { - n = ncv.at (i); - - if (n.node_id == nodeID) - break; + n = *it; + if (n.node_id == nodeID) + break; } return n; Modified: code/player/trunk/utils/logsplitter/logsplitter.c =================================================================== --- code/player/trunk/utils/logsplitter/logsplitter.c 2008-08-22 18:19:44 UTC (rev 6976) +++ code/player/trunk/utils/logsplitter/logsplitter.c 2008-08-25 00:58:33 UTC (rev 6977) @@ -19,8 +19,8 @@ * CVS: $Id$ */ /* - Desc : Splits log files into smaller chunks, based on the difference between - consecutive timestamp entries. A bit ugly, but it works. There's room + Desc : Splits log files into smaller chunks, based on the difference between + consecutive timestamp entries. A bit ugly, but it works. There's room for optimization, so feel free. Author: Radu Bogdan Rusu Date : 20th of September, 2006 @@ -35,7 +35,7 @@ #include <sys/stat.h> // Splits a logfile and returns the new file handle -FILE +FILE *copySplitData (FILE *input, double t2, long before) { char data[1024]; @@ -48,10 +48,10 @@ // Save current position in file long currentPos = ftell (input); - + // Seek to the beginning of the file fseek (input, 0L, SEEK_SET); - + // Read the first entry while (!feof (input)) { @@ -75,7 +75,7 @@ { output = fopen (fileName, "w+"); printf ("I: Creating... %s\n", fileName); - + // Copy the relevant data while (!feof (input)) { @@ -84,10 +84,10 @@ break; fputs (data, output); } - + // Seek back in the source file fseek (input, currentPos - strlen (data), SEEK_SET); - + // Close output file fclose (output); } @@ -97,18 +97,18 @@ // Seek back in the source file fseek (input, currentPos - before, SEEK_SET); } - + // Create a new file and copy the remainings there sprintf (fileName, "%lf-split.log", t2); if (stat (fileName, &fbuf) != 0) { rest = fopen (fileName, "w+"); - printf ("I: Creating... %s\n", fileName); + printf ("I: Creating... %s\n", fileName); while (1) { fgets (data, 1024, input); lastdatalen = strlen (data); - if (feof (input)) + if (feof (input)) break; fputs (data, rest); } @@ -118,7 +118,7 @@ // Truncate the remainings from the source file ftruncate (fileno (input), currentPos - before); fclose (input); - + return rest; } else @@ -141,7 +141,7 @@ float min_timedifference; struct stat fbuf; struct stat ftempbuf; - + // We need 2 parameters if (argc != 3) { @@ -150,13 +150,13 @@ "USAGE: logsplitter [min_time_difference_in_seconds] [FILE]\n\n"); return -1; } - + // Get the minimum time difference between two consecutive timestamps min_timedifference = atof (argv[1]); base_filename = argv[2]; - + printf ("I: Minimum time difference is: %f seconds.\n", min_timedifference); - + // Open file for reading fd = fopen (base_filename, "r+"); if (!fd) @@ -175,17 +175,17 @@ printf ("E: Cannot create a temporary file! Aborting...\n"); return -1; } - + // Copy the content of our logfile to that temporary file while (1) { fgets (buf, 1024, fd); - if (feof (fd)) + if (feof (fd)) break; fputs (buf, tempfd); } fflush (tempfd); - + // Close the original logfile fclose (fd); @@ -196,7 +196,7 @@ printf ("E: The temporary file differs than the original log file by %ld bytes! Aborting...", fbuf.st_size - ftempbuf.st_size); } - + // Get an initial reading rewind (tempfd); while (!feof (tempfd)) @@ -223,13 +223,17 @@ sscanf (buf, "%lf", &t2); after = ftell (tempfd); - + // Verify if we need a break if ((fabs (t2 - t1) > min_timedifference) && (after - before > 0)) { - time_t t = (time_t)t1; - ctime_r (&t, btime); - printf ("I: Break (%f) needed after T = %f -> %s", t2 - t1, t1, btime); + time_t t = (time_t)t1; +#if defined (__SVR4) && defined (__sun) + ctime_r (&t, btime, sizeof (btime)); +#else + ctime_r (&t, btime); +#endif + printf ("I: Break (%f) needed after T = %f -> %s", t2 - t1, t1, btime); tempfd = copySplitData (tempfd, t2, after - before); if (ftell (tempfd) == 0) @@ -241,6 +245,6 @@ // Close file fclose (tempfd); - + return 0; } Modified: code/player/trunk/utils/playercam/playercam.c =================================================================== --- code/player/trunk/utils/playercam/playercam.c 2008-08-22 18:19:44 UTC (rev 6976) +++ code/player/trunk/utils/playercam/playercam.c 2008-08-25 00:58:33 UTC (rev 6977) @@ -190,9 +190,10 @@ GdkPixbuf *blobbuf= NULL; GdkGC *gc = NULL; GtkWidget *drawing_area = GTK_WIDGET(data); - gc = GTK_WIDGET(drawing_area)->style->fg_gc[GTK_WIDGET_STATE(GTK_WIDGET(drawing_area))]; uint16_t i; + gc = GTK_WIDGET(drawing_area)->style->fg_gc[GTK_WIDGET_STATE(GTK_WIDGET(drawing_area))]; + player_update(); if (g_blob_count > 0) @@ -447,7 +448,7 @@ assert(g_width>0); assert(g_height>0); - playerc_client_datamode(g_client,PLAYER_DATAMODE_PULL); + playerc_client_datamode(g_client,PLAYER_DATAMODE_PULL); playerc_client_set_replace_rule(g_client,-1,-1,PLAYER_MSGTYPE_DATA,-1,1); } @@ -462,17 +463,17 @@ { // Decompress the image if necessary playerc_camera_decompress(g_camera); + assert(allocated_size > g_camera->image_count*3); // figure out the colorspace switch (g_camera->format) { - assert(allocated_size > g_camera->image_count*3); case PLAYER_CAMERA_FORMAT_MONO8: // we should try to use the alpha layer, // but for now we need to change // the image data for (i=0;i<g_camera->image_count;++i) { - + memcpy(g_img+i*3, g_camera->image+i, 3); } break; @@ -482,8 +483,8 @@ // Transform to MONO8 for (i = 0; i < g_camera->image_count; i++, j+=2) { - g_img[i*3+1] = g_img[i*3+2] = g_img[i*3+3] = - ((unsigned char)(g_camera->image[j]) << 8) + + g_img[i*3+1] = g_img[i*3+2] = g_img[i*3+3] = + ((unsigned char)(g_camera->image[j]) << 8) + (unsigned char)(g_camera->image[j+1]); } break; Modified: code/player/trunk/utils/playerv/pv_dev_actarray.c =================================================================== --- code/player/trunk/utils/playerv/pv_dev_actarray.c 2008-08-22 18:19:44 UTC (rev 6976) +++ code/player/trunk/utils/playerv/pv_dev_actarray.c 2008-08-25 00:58:33 UTC (rev 6977) @@ -1,4 +1,4 @@ -/* +/* * PlayerViewer * Copyright (C) Andrew Howard 2002 * @@ -46,7 +46,7 @@ char section[64]; char label[64]; actarray_t *actarray; - + actarray = malloc(sizeof(actarray_t)); actarray->datatime = 0; actarray->drivername = strdup(drivername); @@ -66,7 +66,7 @@ actarray->menu = rtk_menu_create_sub(mainwnd->device_menu, label); actarray->subscribe_item = rtk_menuitem_create(actarray->menu, "Subscribe", 1); actarray->command_item = rtk_menuitem_create(actarray->menu, "Command", 1); - + // Set the initial menu state rtk_menuitem_check(actarray->subscribe_item, actarray->proxy->info.subscribed); @@ -75,7 +75,7 @@ actarray->actuator_fig_cmd = NULL; actarray->lastvalue = NULL; actarray->mainwnd = mainwnd; - + return actarray; } @@ -198,8 +198,8 @@ double min, max; double ax, ay, bx, by; double fx, fd; - int ii; + rtk_fig_t *fig; actarray_allocate(actarray, actarray->proxy->actuators_count); @@ -217,7 +217,7 @@ if (value > max) value = max; if (value < min) value = min; value = 2*(value-min)/(max-min) -1; - rtk_fig_t * fig = actarray->actuator_fig[ii]; + fig = actarray->actuator_fig[ii]; rtk_fig_show(fig, 1); rtk_fig_clear(fig); rtk_fig_origin(actarray->actuator_fig[ii], ARRAY_SPACING*ii +ARRAY_X_OFFSET, 0, 0); Modified: code/player/trunk/utils/playerv/pv_dev_gripper.c =================================================================== --- code/player/trunk/utils/playerv/pv_dev_gripper.c 2008-08-22 18:19:44 UTC (rev 6976) +++ code/player/trunk/utils/playerv/pv_dev_gripper.c 2008-08-25 00:58:33 UTC (rev 6977) @@ -105,6 +105,10 @@ // Update a gripper device void gripper_update(gripper_t *gripper) { + double gripper_length, gripper_width; + double paddle_center, paddle_length, paddle_width, paddle_pos; + double ibbx, obbx, bby; + double led_dx; int i; // Update the device subscription @@ -151,12 +155,12 @@ // draw paddles - double gripper_length = gripper->proxy->outer_size.sw; - double gripper_width = gripper->proxy->outer_size.sl; + gripper_length = gripper->proxy->outer_size.sw; + gripper_width = gripper->proxy->outer_size.sl; - double paddle_center = gripper_length * (1.0/6.0); - double paddle_length = gripper_length * (2.0/3.0); - double paddle_width = gripper_width * 0.15; + paddle_center = gripper_length * (1.0/6.0); + paddle_length = gripper_length * (2.0/3.0); + paddle_width = gripper_width * 0.15; rtk_fig_color_rgb32( gripper->grip_fig, GRIPPER_COLOR_FILL ); rtk_fig_rectangle( gripper->grip_fig, @@ -174,7 +178,7 @@ if( gripper->proxy->state == PLAYER_GRIPPER_STATE_OPEN ) { - double paddle_pos = gripper_width/2.0 - paddle_width/2.0; + paddle_pos = gripper_width/2.0 - paddle_width/2.0; rtk_fig_color_rgb32( gripper->grip_fig, GRIPPER_COLOR_FILL ); rtk_fig_rectangle(gripper->grip_fig, @@ -196,7 +200,7 @@ if( gripper->proxy->state == PLAYER_GRIPPER_STATE_CLOSED ) { - double paddle_pos = paddle_width/2.0; + paddle_pos = paddle_width/2.0; rtk_fig_color_rgb32( gripper->grip_fig, GRIPPER_COLOR_FILL ); rtk_fig_rectangle(gripper->grip_fig, @@ -227,14 +231,14 @@ // different x location for each beam - double ibbx = paddle_center - 0.3*paddle_length; - double obbx = paddle_center + 0.3*paddle_length; + ibbx = paddle_center - 0.3*paddle_length; + obbx = paddle_center + 0.3*paddle_length; // common y position - double bby = (gripper->proxy->state == PLAYER_GRIPPER_STATE_OPEN) ? gripper_width/2.0 - paddle_width: 0; + bby = (gripper->proxy->state == PLAYER_GRIPPER_STATE_OPEN) ? gripper_width/2.0 - paddle_width: 0; // size of the paddle indicator lights - double led_dx = paddle_width/2.0; + led_dx = paddle_width/2.0; if( gripper->proxy->beams & 0x00000001 ) { Modified: code/player/trunk/utils/playerv/pv_dev_vectormap.c =================================================================== --- code/player/trunk/utils/playerv/pv_dev_vectormap.c 2008-08-22 18:19:44 UTC (rev 6976) +++ code/player/trunk/utils/playerv/pv_dev_vectormap.c 2008-08-25 00:58:33 UTC (rev 6977) @@ -1,4 +1,4 @@ -/* +/* * PlayerViewer * Copyright (C) Andrew Howard 2002 * @@ -32,7 +32,7 @@ // Update the map configuration void vectormap_update_config(vectormap_t *map); -// Draw the map +// Draw the map void vectormap_draw(vectormap_t *map); // Draw a single map feature @@ -46,7 +46,7 @@ char label[64]; char section[64]; vectormap_t *map; - + map = malloc(sizeof(vectormap_t)); map->proxy = playerc_vectormap_create(client, index); map->drivername = strdup(drivername); @@ -163,12 +163,13 @@ { unsigned ii, jj; GEOSGeom feature; + uint32_t colour = 0xFF0000; + double xCenter, yCenter; rtk_fig_show(map->fig, 1); rtk_fig_clear(map->fig); // draw map data - uint32_t colour = 0xFF0000; for (ii = 0; ii < map->proxy->layers_count; ++ii) { // get a different colour for each layer the quick way, will duplicate after 6 layers @@ -186,8 +187,8 @@ // draw map extent rtk_fig_color_rgb32( map->fig, 0xFF0000 ); - double xCenter = map->proxy->extent.x1 - (map->proxy->extent.x1 - map->proxy->extent.x0)/2; - double yCenter = map->proxy->extent.y1 - (map->proxy->extent.y1 - map->proxy->extent.y0)/2; + xCenter = map->proxy->extent.x1 - (map->proxy->extent.x1 - map->proxy->extent.x0)/2; + yCenter = map->proxy->extent.y1 - (map->proxy->extent.y1 - map->proxy->extent.y0)/2; rtk_fig_rectangle( map->fig, @@ -210,7 +211,8 @@ unsigned numcoords; unsigned ii; double x,y,x2,y2; - switch (GEOSGeomTypeId(geom)) + + switch (GEOSGeomTypeId(geom)) { case GEOS_POINT: seq = GEOSGeom_getCoordSeq(geom); 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 Playerstage-commit@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/playerstage-commit