Hi Geoff:<br>The first thing that came to my mind are <br>to improve the speed (which you already know) and also to allow connections to be restored. <br><br>The reason I don't find rts-shells useful is that it doesn't restore the connections between the components (correct me if I am not wrong). <br>
And restoring the connections is probably the most time consuming process in developing my system. <br>Because I can do start, stop, activate and deactive in the Eclipse-based RTSystemEditor. <br><br>While testing 1 particular component in a large system, I sometime find it necessary to start, stop and reconnect the connections around just that component. <br>
Running my bash script for the whole system would duplicate some of the connections that are already there (there is no way to find out whether they are connected already or not)<br><br>If somehow, the scripts allow some kind of check on whether the component is already alive, the connection is already done or the components are all in Activated state (not in error or inactivated state)<br>
it would be quite convenient I think. <br><br>Another small thing is if an installation has pre-requisite to run, for example, rtcshell requires rtctree, there should be a dependency check during installation to make it easier for users? <br>
<br>Thanks!<br>Tony<br><br><br><br><br><br><div class="gmail_quote">On 28 October 2010 14:22, Geoffrey Biggs <span dir="ltr"><<a href="mailto:geoffrey.biggs@aist.go.jp">geoffrey.biggs@aist.go.jp</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">Hi Tony,<br>
<br>
I'm glad to hear the shell tools are proving useful. If you have any<br>
comments on how they can be improved, I'd like to hear them.<br>
<br>
You might be able to avoid some of the batch script writing by using<br>
rtsshell as well. The tools in there can be used with RtsProfile files<br>
created in RTSystemEditor to make setting up, starting, and stopping<br>
complete systems one-step operations.<br>
<br>
Geoff<br>
<div class="im"><br>
<br>
On 28/10/10 09:34, Tony Kuo wrote:<br>
> Hi Geoff:<br>
> Thank you for your explanation.<br>
> Your python scripts helped me alot in automating the process to start,<br>
> connect and activate my components<br>
> (although writing batch script under Windows was quite painful)<br>
> At the moment, I only use rtprint and a few others for debugging purpose<br>
><br>
> Looking forward to try the next version with the optimisations.<br>
> Thanks!<br>
> Tony<br>
><br>
><br>
><br>
> On 25 October 2010 12:33, Geoffrey Biggs <<a href="mailto:geoffrey.biggs@aist.go.jp">geoffrey.biggs@aist.go.jp</a><br>
</div><div><div></div><div class="h5">> <mailto:<a href="mailto:geoffrey.biggs@aist.go.jp">geoffrey.biggs@aist.go.jp</a>>> wrote:<br>
><br>
>     Hi Tony,<br>
><br>
>     We've tracked down the problem with rtprint. A flaw in the way rtprint<br>
>     locates its temporary component is causing the problem. We've found that<br>
>     if you set RTCTREE_NAMESERVERS to an address, and then use the<br>
>     alternative form of that address (e.g. the IP vs the domain name) in<br>
>     commands, the tree will contain two copies of the name server. This<br>
>     confuses rtprint, since it does not expect two versions of its temporary<br>
>     component.The new version of rtprint coincidentally already solves this<br>
>     problem.<br>
><br>
>     Until the new version is released, you can work around the problem in<br>
>     one of two ways:<br>
><br>
>     1. Use the same address in RTCTREE_NAMESERVERS and in paths.<br>
>     2. On line 63 of rtprint.py, remove "or len(matches) != 1)".<br>
><br>
>     Geoff<br>
><br>
><br>
>     On 22/10/10 11:40, Geoffrey Biggs wrote:<br>
>     > Hi Tony,<br>
>     ><br>
>     > One of our developers has been able to duplicate the rtprint bug. I'm<br>
>     > currently at IROS, where I don't have a Windows computer, so I<br>
>     will need<br>
>     > to take a look when I get back.<br>
>     ><br>
>     > For rtinject, I've had a report that you need to use double quotes on<br>
>     > Windows, not single quotes. Try this:<br>
>     ><br>
>     >> rtinject /SPC105/SPC105.host_cxt/ConsoleOut0.rtc:in<br>
>     >     "RTC.TimedLong({time},3)"<br>
>     ><br>
>     > Geoff<br>
>     ><br>
>     ><br>
>     ><br>
>     > On 20/10/10 05:02, Tony Kuo wrote:<br>
>     >> Hi OpenRTM ML:<br>
>     >><br>
>     >> I installed openrtm-python and related package to get rtcshell<br>
>     running.<br>
>     >> rtls, rtact, rtdel, rtcwd all are working fine.<br>
>     >> But rtprint and rtinject don't work for me.<br>
>     >><br>
>     >> I got some error print out. If anyone knows what's happening<br>
>     >> please let me know.<br>
>     >><br>
>     >> (error message from rtprint)<br>
>     >>             C:\Documents and Settings\xxxx>rtprint ConsoleIn0.rtc:out<br>
>     >>             comp_args: rtprint_listener0<br>
>     >>             c:\python26\scripts\rtprint.py: Could not find listener<br>
>     >> component.<br>
>     >>             Exception in thread Thread-2 (most likely raised during<br>
>     >> interpreter shutdown):Ex<br>
>     >>             ception in thread Thread-3 (most likely raised during<br>
>     >> interpreter shutdown):<br>
>     >><br>
>     >>             Traceback (most recent call last):Traceback (most recent<br>
>     >> call last):<br>
>     >><br>
>     >>               File "C:\Python26\lib\threading.py", line 527, in<br>
>     >> __bootstrap_inner  File "C:\<br>
>     >>             Python26\lib\threading.py", line 527, in<br>
>     __bootstrap_inner<br>
>     >><br>
>     >>               File "C:\Python26\lib\threading.py", line 479, in run<br>
>     >> File "C:\Python26\lib\t<br>
>     >>             hreading.py", line 479, in run<br>
>     >><br>
>     >> My rtinject works but it injects strange data<br>
>     >> I inject a number of 3 but 1701661012 was received.<br>
>     >><br>
>     >> C:\Documents and Settings\xxxxx>rtinject<br>
>     >> /SPC105/SPC105.host_cxt/ConsoleOut0.rtc:in 'RTC.TimedLong({time},3)'<br>
>     >><br>
>     >>         Screen Output<br>
>     >>         ------------------------------<br>
>     >>         Connector Listener: ON_CONNECT<br>
>     >>         Profile::name:      ConsoleOut0.rtc.inject_conn<br>
>     >>         Profile::id:        ConsoleOut0.rtc.temp<br>
>     >>         Profile::properties:<br>
>     >>         - dataflow_type: push<br>
>     >>         - interface_type: corba_cdr<br>
>     >>         - subscription_type: flush<br>
>     >>         - data_type: <type 'str'><br>
>     >>         - serializer<br>
>     >>           - cdr<br>
>     >>             - endian: little,big<br>
>     >>         - provider:<br>
>     >><br>
>     >>         ------------------------------<br>
>     >>         ------------------------------<br>
>     >>         Data Listener: ON_RECEIVED<br>
>     >>         Profile::name: ConsoleOut0.rtc.inject_conn<br>
>     >>         Profile::id:   ConsoleOut0.rtc.temp<br>
>     >>         Data:          1701661012<br>
>     >>         ------------------------------<br>
>     >>         ------------------------------Received:<br>
>     >>         1701661012Data Listener:<br>
>     >>         ON_BUFFER_WRITETimeStamp:<br>
>     >>         58Profile::name: [s] ConsoleOut0.rtc.inject_conn776164434<br>
>     >>         [ns]Profile::id:<br>
>     >>         ConsoleOut0.rtc.temp<br>
>     >>         Data:          1701661012<br>
>     >>         ------------------------------<br>
>     >>         ------------------------------<br>
>     >>         Connector Listener: ON_DISCONNECT<br>
>     >>         Profile::name:      ConsoleOut0.rtc.inject_conn<br>
>     >>         Profile::id:        ConsoleOut0.rtc.temp<br>
>     >>         Profile::properties:<br>
>     >>         - dataflow_type: push<br>
>     >>         - interface_type: corba_cdr<br>
>     >>         - subscription_type: flush<br>
>     >>         - data_type: <type 'str'><br>
>     >>         - serializer<br>
>     >>           - cdr<br>
>     >>             - endian: little,big<br>
>     >>         - provider:<br>
>     >> Thanks!<br>
>     >> Tony<br>
>     >><br>
>     >><br>
>     ><br>
><br>
><br>
</div></div></blockquote></div><br>