a***@schurmann.org
2005-05-26 22:37:50 UTC
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
***@users.sourceforge.net
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
***@users.sourceforge.net