Adding BitPim support for LG-VX3200
| Newsgroups | gmane.comp.mobile.bitpim.devel |
|---|---|
| Message-ID | <4455.192.168.0.5.1117147070.squirrel@dadhead> |
All, I have submitted a tarball to Roger with the barebones bits to support the LG-VX3200 in BitPim. I also submitted a very basic writeup with the special challenges that this phone presented in this effort. Roger requested that I post this writeup for your perusal. Enjoy . . . I have done the work to add basic LG-VX3200 support (wallpapers, ringers and reading the phonebook) to BitPim. I am submiting the core set of code updates that I believe will add LG-VX3200 support to BitPim. As you probably already know the LG-VX3200 is a very basic phone. Apparently what LG did to develop this phone was to start with a more full-featured version and then started hacking at the code to reduce functionality in certain areas. Unfortunately this "hack" approach on their part causes some problems with the consistent, well thought out internals in BitPim. Here I will call out the shortcuts that LG took to develop this phone and what I chose to do in BitPim to provide some useful support to the end users. Ringers ------- The good news is that LG really kept most of this intact. They use the basic Index approach and it works. The bad news is that the phone supports mp3 and midi ringers but insists on the media file having a ".mid" extension in the phone's filesystem. Sheesh - what a pain. I decided that I did not want the BitPim user to have to know or care about this peculiarity. The way I did this is that when the Index is read from the phone I intercept this, "sniff" the media file to determine it's true type, and then rename the file if need be in the BitPim internalized index. When media files are written to the phone I reverse this file extension munging to make sure the phone always has ".mid" files. The BitPim user has the luxury of full midi/mp3 support offered by BitPim and can upload/download these file types with no knowledge of what is happeing behind the scenes. All of this finagling is constrained to: Phone.getindex() Phone.getmedia() Phone.savemedia() in com_lgvx3200.py The rest of BitPim is blissfully ignorant of this filename mangling and works seemlessly for ringers. Wallpapers ---------- Unfortunately LG did a real hack job here. They have an images related index file in the phone but it is completely unused. Second, because they do not use an indevx mechanism there is no way to download wallpapers to the phone that the user can then choose from. The only mechanism that I could get to work is to replace wallpapers already selected by the user with custom versions via BitPim. Finally, the wallpaper image format is proprietary to LG which requires further finessing in BitPim. The actual fiddling with index files and indexes is constrained to: Phone.getindex() Phone.getmedia() Phone.savemedia() in com_lgvx3200.py I have added support in conversions.py for converting between this LG proprietary format and BMP files. (Side note - I only support 128x128 24BPP BMP files. The LG files are 128x128 16BPP-R5G6B5 format.) fileinfo.py has been extended to support the proprietary BIT file format but this extension is not actually used in any of my changes. It is simply there for symmetry reasons. Phonebook --------- It looks like the LG-VX3200 actually has real phonebook that is very close to the one used in the 4400/4500. I have gotten the reading of the phonebook apparently working in BitPim. I have done zero work so far to really test this nor have I done anything yet to test writing it. I have enabled reading in BitPim but currently writing is not suppported. This will be my next major step in development. Calendar -------- I have not spent one second looking at this. I hope to get to it soon and I hope that it will just work! ;-) Autodetect ---------- I have put the necessary info in com_lgvx3200.py in support of autodetect. Help ---- I have provided the necessary BitPim Help files to support the capabilities I am providing. The new help files will obvisouly need valid Index numbers inserted. Let me know what I am missing for this Rev 0 release. Thanks, Bruce Schurmann Austin, TX [email protected] ------------------------------------------------------- This SF.Net email is sponsored by Yahoo. Introducing Yahoo! Search Developer Network - Create apps using Yahoo! Search APIs Find out how you can build Yahoo! directly into your own Applications - visit http://developer.yahoo.net/?fr=offad-ysdn-ostg-q22005