0 Star 0 Fork 1

ianaxe/vrpn

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
android_widgets
atmellib
client_src
directx_sound_client
haptic
.cvsignore
CMakeLists.txt
ChangeLog
Makefile
add_vrpn_cookie.C
bdbox_client.C
c_interface.cpp
c_interface.h
c_interface_example.c
checklogfile.C
clock_drift_estimator.C
clock_drift_estimator.dsp
clock_drift_estimator.vcproj
ff_client.C
forcedevice_test_client.cpp
forcedevice_test_client.dsp
forcedevice_test_client.vcproj
forwarderClient.C
logfilesenders.C
logfiletypes.C
midi_client.C
phan_client.C
printcereal.C
printcereal.dsp
printcereal.vcproj
printvals.C
printvals.dsp
printvals.vcproj
run_auxiliary_logger.C
run_auxiliary_logger.dsp
run_auxiliary_logger.vcproj
sound_client.C
sphere_client.C
sphere_client.dsp
sphere_client.vcproj
testSharedObject.C
test_Zaber.C
test_imager.C
test_imager.dsp
test_imager.vcproj
test_mutex.C
test_zaber.dsp
test_zaber.vcproj
testimager_client.C
testimager_client.dsp
testimager_client.vcproj
text.C
tracker_to_poser.cpp
tracker_to_poser.dsp
tracker_to_poser.vcproj
vrpn_LamportClock.t.C
vrpn_average_analogs.C
vrpn_orientation.C
vrpn_ping.C
vrpn_print_devices.C
vrpn_print_devices.dsp
vrpn_print_devices.vcproj
vrpn_print_messages.C
vrpn_print_performance.C
cmake
demos
doxygen
gpsnmealib
hid_gui
installers
java_vrpn
libnifalcon-patches
python
python_vrpn
quat
server_src
submodules
util
vrpn_GTK
vrpn_Qt_GUI_server
vrpn_android
vrpn_embedded
vrpn_streaming_arduino
.clang-format
.clang-tidy
.gitattributes
.gitignore
.gitmodules
.travis.yml
CMakeLists.txt
ChangeLog
DashboardBuildInitialCache.cmake.in
Format
Makefile
MinGWToolchain.cmake
ParseVersion.cmake
README
README.Compiling
README.Legal
README.git
README.jsoncpp
README.python
WarningDev.cmake
generate-vcproj.sh
generate-vrpnsln-rsp.sh
jni_layer.cpp
jni_layer.h
make_vrpn_libs_build.dsp
make_vrpn_libs_build.vcproj
test_msvc_project_builds.cmd
time_test.cpp
time_test.dsp
time_test.vcproj
vrpn-vcexpress.sln
vrpn.dsp
vrpn.dsw
vrpn.sln
vrpn.vcproj
vrpn_3DConnexion.C
vrpn_3DConnexion.h
vrpn_3DMicroscribe.C
vrpn_3DMicroscribe.h
vrpn_3Space.C
vrpn_3Space.h
vrpn_5DT16.C
vrpn_5DT16.h
vrpn_ADBox.C
vrpn_ADBox.h
vrpn_Adafruit.C
vrpn_Adafruit.h
vrpn_Analog.C
vrpn_Analog.h
vrpn_Analog_5dt.C
vrpn_Analog_5dt.h
vrpn_Analog_5dtUSB.C
vrpn_Analog_5dtUSB.h
vrpn_Analog_Output.C
vrpn_Analog_Output.h
vrpn_Analog_Radamec_SPI.C
vrpn_Analog_Radamec_SPI.h
vrpn_Analog_USDigital_A2.C
vrpn_Analog_USDigital_A2.h
vrpn_Android.C
vrpn_Android.h
vrpn_Assert.C
vrpn_Assert.h
vrpn_Atmel.C
vrpn_Atmel.h
vrpn_Auxiliary_Logger.C
vrpn_Auxiliary_Logger.h
vrpn_BaseClass.C
vrpn_BaseClass.h
vrpn_BiosciencesTools.C
vrpn_BiosciencesTools.h
vrpn_Button.C
vrpn_Button.h
vrpn_Button_NI_DIO24.C
vrpn_Button_NI_DIO24.h
vrpn_Button_USB.cpp
vrpn_Button_USB.h
vrpn_CHProducts_Controller_Raw.C
vrpn_CHProducts_Controller_Raw.h
vrpn_CerealBox.C
vrpn_CerealBox.h
vrpn_Configure.h
vrpn_Configure.h.cmake_in
vrpn_Connection.C
vrpn_Connection.h
vrpn_ConnectionPtr.h
vrpn_Contour.C
vrpn_Contour.h
vrpn_DevInput.C
vrpn_DevInput.h
vrpn_Dial.C
vrpn_Dial.h
vrpn_DirectXFFJoystick.C
vrpn_DirectXFFJoystick.h
vrpn_DirectXRumblePad.C
vrpn_DirectXRumblePad.h
vrpn_DreamCheeky.C
vrpn_DreamCheeky.h
vrpn_Dyna.C
vrpn_Dyna.h
vrpn_EndpointContainer.C
vrpn_EndpointContainer.h
vrpn_Event.C
vrpn_Event.h
vrpn_Event_Analog.C
vrpn_Event_Analog.h
vrpn_Event_Mouse.C
vrpn_Event_Mouse.h
vrpn_FileConnection.C
vrpn_FileConnection.h
vrpn_FileController.C
vrpn_FileController.h
vrpn_FixedPoint.h
vrpn_Flock.C
vrpn_Flock.h
vrpn_Flock_Parallel.C
vrpn_Flock_Parallel.h
vrpn_ForceDevice.C
vrpn_ForceDevice.h
vrpn_ForceDeviceServer.C
vrpn_ForceDeviceServer.h
vrpn_Forwarder.C
vrpn_Forwarder.h
vrpn_ForwarderController.C
vrpn_ForwarderController.h
vrpn_Freespace.C
vrpn_Freespace.h
vrpn_FunctionGenerator.C
vrpn_FunctionGenerator.h
vrpn_Futaba.C
vrpn_Futaba.h
vrpn_GlobalHapticsOrb.C
vrpn_GlobalHapticsOrb.h
vrpn_Griffin.C
vrpn_Griffin.h
vrpn_HIDAPI_Linux_Hack.c
vrpn_HashST.h
vrpn_HumanInterface.C
vrpn_HumanInterface.h
vrpn_IDEA.C
vrpn_IDEA.h
vrpn_Imager.C
vrpn_Imager.h
vrpn_Imager_Stream_Buffer.C
vrpn_Imager_Stream_Buffer.h
vrpn_ImmersionBox.C
vrpn_ImmersionBox.h
vrpn_JoyFly.C
vrpn_JoyFly.h
vrpn_Joylin.C
vrpn_Joylin.h
vrpn_Joywin32.C
vrpn_Joywin32.h
vrpn_Keyboard.C
vrpn_Keyboard.h
vrpn_LUDL.C
vrpn_LUDL.h
vrpn_LamportClock.C
vrpn_LamportClock.h
vrpn_Laputa.C
vrpn_Laputa.h
vrpn_Local_HIDAPI.C
vrpn_Log.h
vrpn_Logitech_Controller_Raw.C
vrpn_Logitech_Controller_Raw.h
vrpn_Magellan.C
vrpn_Magellan.h
vrpn_MainloopContainer.h
vrpn_MainloopObject.h
vrpn_MessageMacros.h
vrpn_Microsoft_Controller_Raw.C
vrpn_Microsoft_Controller_Raw.h
vrpn_Mouse.C
vrpn_Mouse.h
vrpn_Mutex.C
vrpn_Mutex.h
vrpn_NationalInstruments.C
vrpn_NationalInstruments.h
vrpn_Nidaq.C
vrpn_Nidaq.h
vrpn_Oculus.C
vrpn_Oculus.h
vrpn_OmegaTemperature.C
vrpn_OmegaTemperature.h
vrpn_OneEuroFilter.h
vrpn_OwningPtr.h
vrpn_OzzMaker.C
vrpn_OzzMaker.h
vrpn_Poser.C
vrpn_Poser.h
vrpn_Poser_Analog.C
vrpn_Poser_Analog.h
vrpn_Poser_Tek4662.C
vrpn_Poser_Tek4662.h
vrpn_RedundantTransmission.C
vrpn_RedundantTransmission.h
vrpn_Retrolink.C
vrpn_Retrolink.h
vrpn_Saitek_Controller_Raw.C
vrpn_Saitek_Controller_Raw.h
vrpn_SendTextMessageStreamProxy.h
vrpn_Serial.C
vrpn_Serial.h
vrpn_SerialPort.C
vrpn_SerialPort.h
vrpn_Shared.C
vrpn_Shared.h
vrpn_SharedObject.C
vrpn_SharedObject.h
vrpn_Sound.C
vrpn_Sound.h
vrpn_Spaceball.C
vrpn_Spaceball.h
vrpn_Streaming_Arduino.C
vrpn_Streaming_Arduino.h
vrpn_Text.C
vrpn_Text.h
vrpn_Thread.C
vrpn_Thread.h
vrpn_Tng3.C
vrpn_Tng3.h
vrpn_Tracker.C
vrpn_Tracker.h
vrpn_Tracker_3DMouse.C
vrpn_Tracker_3DMouse.h
vrpn_Tracker_AnalogFly.C
vrpn_Tracker_AnalogFly.h
vrpn_Tracker_ButtonFly.C
vrpn_Tracker_ButtonFly.h
vrpn_Tracker_Colibri.C
vrpn_Tracker_Colibri.h
vrpn_Tracker_Crossbow.C
vrpn_Tracker_Crossbow.h
vrpn_Tracker_DTrack.C
vrpn_Tracker_DTrack.h
vrpn_Tracker_Fastrak.C
vrpn_Tracker_Fastrak.h
vrpn_Tracker_Filter.C
vrpn_Tracker_Filter.h
vrpn_Tracker_GPS.C
vrpn_Tracker_GPS.h
vrpn_Tracker_GameTrak.C
vrpn_Tracker_GameTrak.h
vrpn_Tracker_IMU.C
vrpn_Tracker_IMU.h
vrpn_Tracker_Isotrak.C
vrpn_Tracker_Isotrak.h
vrpn_Tracker_JsonNet.C
vrpn_Tracker_JsonNet.h
vrpn_Tracker_Liberty.C
vrpn_Tracker_Liberty.h
vrpn_Tracker_LibertyHS.C
vrpn_Tracker_LibertyHS.h
vrpn_Tracker_MotionNode.C
vrpn_Tracker_MotionNode.h
vrpn_Tracker_NDI_Polaris.C
vrpn_Tracker_NDI_Polaris.h
vrpn_Tracker_NovintFalcon.C
vrpn_Tracker_NovintFalcon.h
vrpn_Tracker_OSVRHackerDevKit.C
vrpn_Tracker_OSVRHackerDevKit.h
vrpn_Tracker_PDI.C
vrpn_Tracker_PDI.h
vrpn_Tracker_PhaseSpace.C
vrpn_Tracker_PhaseSpace.h
vrpn_Tracker_RazerHydra.C
vrpn_Tracker_RazerHydra.h
vrpn_Tracker_SpacePoint.C
vrpn_Tracker_SpacePoint.h
vrpn_Tracker_ThalmicLabsMyo.C
vrpn_Tracker_ThalmicLabsMyo.h
vrpn_Tracker_TrivisioColibri.C
vrpn_Tracker_TrivisioColibri.h
vrpn_Tracker_ViewPoint.C
vrpn_Tracker_ViewPoint.h
vrpn_Tracker_WiimoteHead.C
vrpn_Tracker_WiimoteHead.h
vrpn_Tracker_Wintracker.C
vrpn_Tracker_Wintracker.h
vrpn_Tracker_isense.C
vrpn_Tracker_isense.h
vrpn_Tracker_zSight.C
vrpn_Tracker_zSight.h
vrpn_Types.h
vrpn_UNC_Joystick.C
vrpn_UNC_Joystick.h
vrpn_VPJoystick.C
vrpn_VPJoystick.h
vrpn_Wanda.C
vrpn_Wanda.h
vrpn_WiiMote.C
vrpn_WiiMote.h
vrpn_WindowsH.h
vrpn_WindowsH_generator.lua
vrpn_XInputGamepad.C
vrpn_XInputGamepad.h
vrpn_Xkeys.C
vrpn_Xkeys.h
vrpn_YEI_3Space.C
vrpn_YEI_3Space.h
vrpn_Zaber.C
vrpn_Zaber.h
vrpn_i2c_helpers.h
vrpn_inertiamouse.C
vrpn_inertiamouse.h
vrpn_nVidia_shield_controller.C
vrpn_nVidia_shield_controller.h
vrpn_nikon_controls.C
vrpn_nikon_controls.h
vrpn_raw_sgibox.C
vrpn_raw_sgibox.h
vrpn_sgibox.C
vrpn_sgibox.h
vrpndll.dsp
vrpndll.vcproj
vrpnsln.rsp
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
checklogfile.C 4.12 KB
一键复制 编辑 原始数据 按行查看 历史
#include <fcntl.h> // for open, O_RDONLY
#include <stdio.h> // for printf, fprintf, stderr
#include <stdlib.h> // for exit
#include <string.h> // for strcmp
#ifndef _WIN32
#include <netinet/in.h> // for ntohl
#include <unistd.h> // for close, read
#else
#include <io.h>
#endif
#include <vrpn_Connection.h> // for vrpn_HANDLERPARAM, etc
#include "vrpn_Shared.h" // for timeval, vrpn_TimevalMsecs
const int buflen = 8000;
void Usage (const char * name) {
fprintf(stderr, "Usage: %s [-n|-s] <filename>\n", name);
fprintf(stderr," -n: Print names instead of numbers.\n");
fprintf(stderr," -s: Summary only, start/end/duration\n");
}
int main (int argc, char ** argv) {
char * filename;
int name_mode = 0, summary_mode = 0;
char buffer [buflen];
vrpn_HANDLERPARAM header;
int file;
int retval;
if (argc < 2) {
Usage(argv[0]);
exit(0);
}
filename = argv[1];
if (!strcmp(argv[1], "-n")) {
filename = argv[2];
name_mode = 1;
fprintf(stderr, "FATAL ERROR: Name mode not implemented.\n");
exit(0);
} else if (!strcmp(argv[1], "-s")) {
filename = argv[2];
summary_mode = 1;
}
#ifdef _WIN32
// blech
const int oflag = O_RDONLY | O_BINARY;
#else
const int oflag = O_RDONLY;
#endif
file = open(filename, oflag);
if (file == -1) {
fprintf(stderr, "Couldn't open \"%s\".\n", filename);
exit(0);
}
struct timeval tvFirst, time;
int cEntries = 0;
while (1) {
int len;
long sender;
long type;
int len2;
retval = read(file, &header, sizeof(header));
if (retval < 0) { printf("ERROR\n"); close(file); exit(0); }
if (!retval) {
if (summary_mode) {
printf("Last timestamp in file: %ld:%ld\n", time.tv_sec, static_cast<long>(time.tv_usec));
timeval tvDuration = vrpn_TimevalDiff(time, tvFirst);
double dDuration = vrpn_TimevalMsecs(tvDuration) / 1000.0;
printf("Duration: %ld:%ld\n", tvDuration.tv_sec, static_cast<long>(tvDuration.tv_usec));
printf("%d enties over %gs = %.3fHz\n",
cEntries, dDuration, cEntries/dDuration);
} else {
printf("EOF\n");
}
close(file);
break;
}
cEntries++;
len = ntohl(header.payload_len);
time.tv_sec = ntohl(header.msg_time.tv_sec);
time.tv_usec = ntohl(header.msg_time.tv_usec);
sender = ntohl(header.sender);
type = ntohl(header.type);
if (summary_mode) {
static int first = 1;
if (first) {
printf("First timestamp in file: %ld:%ld\n", time.tv_sec, static_cast<long>(time.tv_usec));
tvFirst = time;
first = 0;
}
}
if (!summary_mode) {
if (name_mode)
printf("%ld from %ld, payload length %d\n",
type, sender, len);
else
printf("Message type %ld, sender %ld, payload length %d\n",
type, sender, len);
}
retval = read(file, buffer, len);
if (retval < 0) { printf("ERROR\n"); close(file); exit(0); }
if (!retval) { printf("EOF\n"); close(file); exit(0); }
if (summary_mode) {
continue;
}
printf(" <%d bytes> at %ld:%ld\n", retval, time.tv_sec, static_cast<long>(time.tv_usec));
switch (type) {
case vrpn_CONNECTION_SENDER_DESCRIPTION:
len2 = ntohl(* ((int *) buffer));
buffer[len2 + sizeof(int)] = 0;
printf(" The name of sender #%ld is \"%s\".\n", sender, buffer + sizeof(int));
break;
case vrpn_CONNECTION_TYPE_DESCRIPTION:
len2 = ntohl(* ((int *) buffer));
buffer[len2 + sizeof(int)] = 0;
printf(" The name of type #%ld is \"%s\".\n", sender, buffer + sizeof(int));
break;
case vrpn_CONNECTION_UDP_DESCRIPTION:
buffer[len] = 0;
printf(" UDP host is \"%s\", port %ld.\n", buffer, sender);
break;
case vrpn_CONNECTION_LOG_DESCRIPTION:
buffer[len] = 0;
printf(" Log to file \"%s\".\n", buffer);
break;
}
}
return 0;
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
C
1
https://gitee.com/ianaxe/vrpn.git
git@gitee.com:ianaxe/vrpn.git
ianaxe
vrpn
vrpn
master

搜索帮助

371d5123 14472233 46e8bd33 14472233