Re: Accessing PDA in cradle from Windows
by Courage (Parson) on Mar 27, 2005 at 18:53 UTC
|
your problem is clear from different points of view.
- Given you're on XP, you (must) have ActiveSync - it is the way information is exchanged
- It is known fact that no drive mapping, no UNC name or somesuch is done. Why? Because PocketPC does not have good TCP stack (or other network stack). Why it does not good stack? Because PocketPC is weak. Why it is weak? Because hardware is weak.
-- 'but its not weak', - you say, by device has XXX mbytes of memory and damn fast (my Casio with 150MHz is damn fast, in my opinion; another my device is 400MHz, and I do not comment about current PocketPC-s)
Nevertheless, someone decided its weak and you do not have proper networking with it. Just that.
- There are several ways to check for files on PocketPC and even execute files there - one of way is to use so-called desktop tools from http://www.rainer-keuchel.de/ Cross-compilation process of Perl use some of this. You may want also to look at perl sources to proper places...
- PerlCE has its homepage at http://perlce.sourceforge.net and wiki at http://perlce.sourceforge.net/cgi-bin/perlce-tcltkce-wiki.pl?PerlCE_And_Tcltkce_Wiki_Page and your question has some relation to this. I think its reasonable to add this and some more related information there.
Also, what functionality do you expect of a module that solves your task? (as you tried to find it on CPAN)
Have fun! | [reply] |
Re: Accessing PDA in cradle from Windows
by Corion (Patriarch) on Mar 27, 2005 at 16:45 UTC
|
I've looked in the direction of doing that myself as well, but there are some ugly problems, as the connection is not exported as a "drive" per se, but as an Explorer Namespace Extension. You will find that your PDA is visible in the Explorer not as a drive (letter) but as something separate, and that (in most cases) the behaviour when copying files is different from the standard behaviour, as it is programmed by the implementors of the PDA driver.
The direction you need to go is to create a (pure) COM interface to IShellFolder and/or IShellBrowser, which will mean some C or C++ wrapping and much reading of the MSDN documentation. If you are lucky, you can grab whatever communication your PDA tools do, by installing a wrapping USB sniffer, or by looking at the locally cached files.
| [reply] |
|
|
I don't think it is that bad. There is a library for accessing the device called RAPI. It communicates over TCP port 990 to which ActiveSync is listening. I don't have a compiler on my XP to wrap the library, and I am not an XS guru at any rate.
| [reply] |
|
|
The thing is, it's fundamentally silly that one should have to deal with such a library. Why should I have to write two different code bases to perform what is essentially just a file system operation? This destroys any reasonable expectation of writing portable and extensible code.
| [reply] |
Re: Accessing PDA in cradle from Windows
by gwhite (Friar) on Mar 28, 2005 at 12:22 UTC
|
What about setting up synchronization of those files, then dealing with the file contents on the PC. So basically you plug in the device, it syncs to the PC, Perl does what it does using the PC based files and if files get updated or created they get dropped back into the sync directory which puts them back on the device. Not elegant, but you didn't ask for elegant.
| [reply] |
|
|
When I plug the PDA into the cradle, how do I know when the files have been synced?
| [reply] |
|
|
| [reply] |
|
|
|
|
Re: Accessing PDA in cradle from Windows
by skyknight (Hermit) on Mar 28, 2005 at 12:04 UTC
|
Your only mistake here is assuming that Windows software, in particular software put out by Microsoft, would exhibit any reasonable degree of transparency. If this were being done under Unix, the file system would most certainly be mounted just like any other file system. Instead, you are stuck having to deal with a bunch of needlessly arcane nonsense. We're talking about a file system here. Why on earth isn't it treated as an ordinary file system? This is the kind of Windows nonsense that really grates on me. There is no common denominator that facillitates the creation of useful third party applications. It's Microsoft's way or the highway. If this kind of thing were easy to do, it would undermine Microsoft's advantageous position of putting out PDA management software. | [reply] |