Difference between revisions of "OpenIGTLink/Library/Discussions"
(12 intermediate revisions by the same user not shown) | |||
Line 3: | Line 3: | ||
<div class="redirectText">'''Discussions on Open IGT Link Library Development'''</div> | <div class="redirectText">'''Discussions on Open IGT Link Library Development'''</div> | ||
<div class="floatright">__TOC__</div> | <div class="floatright">__TOC__</div> | ||
+ | |||
+ | =Build for QNX= | ||
+ | Harman Bassan, from CSTAR, Canada, has successfully built OpenIGTLink library with the following procedures. | ||
+ | |||
+ | The first step was to update the compiler on QNX. The version he has tried is gcc V4.2.1. The instructions to update this compiler were available at: | ||
+ | |||
+ | http://community.qnx.com/sf/wiki/do/viewPage/projects.toolchain/wiki/Downloads_gcc4.2Preview | ||
+ | |||
+ | It also required to update the binary utilities (He used version 2.17). | ||
+ | |||
+ | Once CMAKE was compiled and working (there were a few warning during the compilation, but it compiled without any errors), He got the latest version of OpenIGTLink using svn. After doing the configuration with CMAKE, he was getting an ERROR during the make process. The error was coming from a missing "pthread" library on QNX. For QNX, the equivalent library is "libc". So he manually edited the "CMakeLists.txt" file in the "Source" directory to reflect the following changes: | ||
+ | |||
+ | IF(OpenIGTLink_PLATFORM_WIN32) | ||
+ | SET(LINK_LIBS | ||
+ | ws2_32 | ||
+ | wsock32 | ||
+ | ) | ||
+ | ELSE(OpenIGTLink_PLATFORM_WIN32) | ||
+ | SET(LINK_LIBS | ||
+ | /usr/qnx632/target/qnx6/x86/lib/libc.so; /usr/qnx632/target/qnx6/x86/lib/libsocket.so; | ||
+ | m | ||
+ | ) | ||
+ | ENDIF(OpenIGTLink_PLATFORM_WIN32) | ||
+ | |||
+ | The example files in "Examples/Imager" causes errors due to the calls of "fopen" and "FILE". You may need to disable those examples. | ||
=Log function= | =Log function= | ||
Line 32: | Line 57: | ||
*Make a copy repository of OpenIGTLink library | *Make a copy repository of OpenIGTLink library | ||
*Make wiki account and SVN repository account for the student | *Make wiki account and SVN repository account for the student | ||
− | **[Editing_Guide:Getting_Started| NA-MIC wiki editing guide] | + | **[[Editing_Guide:Getting_Started| NA-MIC wiki editing guide]] |
− | **[Engineering:SandBox| NA-MIC Subversion Repository] | + | **[[Engineering:SandBox| NA-MIC Subversion Repository]] |
==Skills required== | ==Skills required== | ||
− | *Basic knowledge about [OpenIGTLink | OpenIGTLink]. | + | *Basic knowledge about [[OpenIGTLink | OpenIGTLink]]. --> See [http://www.na-mic.org/Wiki/index.php/IGT:ToolKit IGT Toolkit Tutorial] |
+ | *[[OpenIGTLink/Library]] | ||
*Socket programming | *Socket programming | ||
*Thread | *Thread | ||
*SVN, CMake | *SVN, CMake | ||
+ | |||
+ | |||
+ | * http://svn.na-mic.org/NAMICSandBox/trunk/IGTLoadableModules/ProstateNav |
Latest revision as of 04:06, 30 November 2011
Home < OpenIGTLink < Library < DiscussionsBuild for QNX
Harman Bassan, from CSTAR, Canada, has successfully built OpenIGTLink library with the following procedures.
The first step was to update the compiler on QNX. The version he has tried is gcc V4.2.1. The instructions to update this compiler were available at:
http://community.qnx.com/sf/wiki/do/viewPage/projects.toolchain/wiki/Downloads_gcc4.2Preview
It also required to update the binary utilities (He used version 2.17).
Once CMAKE was compiled and working (there were a few warning during the compilation, but it compiled without any errors), He got the latest version of OpenIGTLink using svn. After doing the configuration with CMAKE, he was getting an ERROR during the make process. The error was coming from a missing "pthread" library on QNX. For QNX, the equivalent library is "libc". So he manually edited the "CMakeLists.txt" file in the "Source" directory to reflect the following changes:
IF(OpenIGTLink_PLATFORM_WIN32) SET(LINK_LIBS ws2_32 wsock32 ) ELSE(OpenIGTLink_PLATFORM_WIN32) SET(LINK_LIBS /usr/qnx632/target/qnx6/x86/lib/libc.so; /usr/qnx632/target/qnx6/x86/lib/libsocket.so; m ) ENDIF(OpenIGTLink_PLATFORM_WIN32)
The example files in "Examples/Imager" causes errors due to the calls of "fopen" and "FILE". You may need to disable those examples.
Log function
Data file format
- binary (dump message data to file)
- pro
- can be used for any type of data
- easy to replay
- con
- too redundant, if the data source does not change
- needs reader software
- pro
- text format
- pro
- human readable
- con
- size
- needs interpreter. impossible to record unknown type message.
- pro
Architecture
- 1 connection / port
- needs threading
- implemented in the OpenIGTLink library
- multiple connection port
- use 'select()' function
- not implemented in the OpenIGTLink library
- can be implemented as a single-thread program
Logistics
- Make a copy repository of OpenIGTLink library
- Make wiki account and SVN repository account for the student
Skills required
- Basic knowledge about OpenIGTLink. --> See IGT Toolkit Tutorial
- OpenIGTLink/Library
- Socket programming
- Thread
- SVN, CMake