|
View:
New views
5 Messages
—
Rating Filter:
Alert me
|
|
|
Want to help with LG CosmosHi,
I've used BitPim for several years with my LG VX8300. I recently bought an LG Comsos that does not appear to be compatible with BitPim. I've searched around and I couldn't find any information about work on this phone model. I'm interested in helping to contribute to make this phone work and am looking for pointers on getting starting with the contribution process. My development experience is mainly with client-side Java (14 years). I've installed all of the components described on the BitPim developer page, as well as the Pydev.
Thanks, -Ryan
------------------------------------------------------------------------------ _______________________________________________ BitPim-devel mailing list BitPim-devel@... https://lists.sourceforge.net/lists/listinfo/bitpim-devel |
|
|
Re: [bitpim-devel] want to help with lg cosmosTo get started follow this link: http://www.bitpim.org/developerhtml Once the development environment is set up I recommend taking a look at com_lgvx11000.py and p_lgvx11000.p . You will probably want to subclass com_lgvx11000. If you need any help let me know Also, I am working on Accolade support which, in all likelihood, is similar to the Cosmos (same generation phone). I will let you know when that is complete. -Nathan Hi, ------------------------------------------------------------------------------ _______________________________________________ BitPim-devel mailing list BitPim-devel@... https://lists.sourceforge.net/lists/listinfo/bitpim-devel |
|
|
Re: [bitpim-devel] want to help with lg cosmosNathan,
I've attached some preliminary support for the Accolade (VX5600) that I was able to use for my address book. I haven't gotten SMS working yet though. I haven't had time to work on it, but I figure I might as well make it available for someone else to look at. On 05/24/2010 10:29 AM, hjelmn wrote: > To get started follow this link: http://www.bitpim.org/developerhtml > > Once the development environment is set up I recommend taking a look at > com_lgvx11000.py and p_lgvx11000.p . You will probably want to subclass > com_lgvx11000. If you need any help let me know > > Also, I am working on Accolade support which, in all likelihood, is > similar to the Cosmos (same generation phone). I will let you know when > that is complete. > > -Nathan [com_lgvx5600.py] #!/usr/bin/env python ### BITPIM ### ### Copyright (C) 2007-2008 Nathan Hjelm <hjelmn@...> ### ### This program is free software; you can redistribute it and/or modify ### it under the terms of the BitPim license as detailed in the LICENSE file. ### $Id$ """ Communicate with the LG VX5600 cell phone. """ # BitPim modules import common import com_brew import bpcalendar import prototypes import com_lgvx8575 import p_lgvx5600 import p_brew import helpids import copy import time import os.path import phonebookentryeditor DEBUG1=False #------------------------------------------------------------------------------- parentphone=com_lgvx8575.Phone class Phone(parentphone): desc="LG-VX5600" helpid=None protocolclass=p_lgvx5600 serialsname='lgvx5600' my_model='VX5600' calendarringerlocation='sch/toolsRinger.dat' ringtonelocations= ( # type index file default dir external dir max type index ( 'ringers', 'dload/myringtone.dat','brew/mod/10889/ringtones', '', 100, 0x01, 100), ( 'sounds', 'dload/mysound.dat', 'brew/mod/18067', '', 100, 0x02, None), ( 'music', 'dload/efs_music.dat', 'my_music', '', 100, 0x104, None), ) #add picture ids to list of wallpapers, seems to be new for this phone wallpaperlocations= ( # type index file default dir external dir max type Index ( 'images', 'dload/image.dat', 'brew/mod/10888', '', 100, 0x00, 100), ( 'video', 'dload/video.dat', 'brew/mod/10890', '', 100, 0x03, None), ( 'picture ids','set_as_pic_id_dir/setas_pic_id.dat', 'set_as_pic_id_dir', '', 999, 0x00, None), ) #------------------------------------------------------------------------------- parentprofile=com_lgvx8575.Profile class Profile(parentprofile): protocolclass=Phone.protocolclass serialsname=Phone.serialsname BP_Calendar_Version=3 phone_manufacturer='LG Electronics Inc' phone_model=Phone.my_model # inside screen resoluation WALLPAPER_WIDTH=176 WALLPAPER_HEIGHT=220 imageorigins={} imageorigins.update(common.getkv(parentprofile.stockimageorigins, "images")) imageorigins.update(common.getkv(parentprofile.stockimageorigins, "video")) # our targets are the same for all origins imagetargets={} imagetargets.update(common.getkv(parentprofile.stockimagetargets, "fullscreen", {'width': 238, 'height': 246, 'format': "JPEG"})) imagetargets.update(common.getkv(parentprofile.stockimagetargets, "wallpaper", {'width': 240, 'height': 274, 'format': "JPEG"})) imagetargets.update(common.getkv(parentprofile.stockimagetargets, "pictureid", {'width': 120, 'height': 100, 'format': "JPEG"})) _supportedsyncs=( ('phonebook', 'read', None), # all phonebook reading ('calendar', 'read', None), # all calendar reading ('wallpaper', 'read', None), # all wallpaper reading ('ringtone', 'read', None), # all ringtone reading ('call_history', 'read', None),# all call history list reading ('sms', 'read', None), # all SMS list reading ('memo', 'read', None), # all memo list reading ('phonebook', 'write', 'OVERWRITE'), # only overwriting phonebook ('calendar', 'write', 'OVERWRITE'), # only overwriting calendar ('wallpaper', 'write', 'MERGE'), # merge and overwrite wallpaper ('wallpaper', 'write', 'OVERWRITE'), ('ringtone', 'write', 'MERGE'), # merge and overwrite ringtone ('ringtone', 'write', 'OVERWRITE'), ('sms', 'write', 'OVERWRITE'), # all SMS list writing ('memo', 'write', 'OVERWRITE'), # all memo list writing ('t9_udb', 'write', 'OVERWRITE'), ) if __debug__: _supportedsyncs+=( ('t9_udb', 'read', 'OVERWRITE'), ) field_color_data={ 'phonebook': { 'name': { 'first': False, 'middle': False, 'last': False, 'full': 1, 'nickname': False, 'details': 1 }, 'number': { 'type': 5, 'speeddial': 5, 'number': 5, 'ringtone': False, 'wallpaper': False, 'details': 5 }, 'email': 2, 'email_details': { 'emailspeeddial': False, 'emailringtone': False, 'emailwallpaper': False }, 'address': { 'type': False, 'company': False, 'street': 1, 'street2': False, 'city': 1, 'state': 1, 'postalcode': 1, 'country': 1, 'details': 1 }, 'url': 0, 'memo': 0, 'category': 1, 'wallpaper': 1, 'group_wallpaper': 1, #'wallpaper_type': False, 'ringtone': 1, 'storage': False, 'secret': False, 'ICE': 1, 'Favorite': 1, }, 'calendar': { 'description': True, 'location': False, 'allday': False, 'start': True, 'end': True, 'priority': False, 'alarm': True, 'vibrate': True, 'repeat': True, 'memo': False, 'category': False, 'wallpaper': False, 'ringtone': True, }, 'memo': { 'subject': False, 'date': True, 'secret': False, 'category': False, 'memo': True, }, 'todo': { 'summary': False, 'status': False, 'due_date': False, 'percent_complete': False, 'completion_date': False, 'private': False, 'priority': False, 'category': False, 'memo': False, }, } [p_lgvx5600.p] ### ( -*- Python -*- ) ### Copyright (C) 2007-2008 Nathan Hjelm <hjelmn@...> ### ### This program is free software; you can redistribute it and/or modify ### it under the terms of the BitPim license as detailed in the LICENSE file. ### ### $Id$ %{ """Various descriptions of data specific to LG VX5600""" from p_lgvx8575 import * %} # /pim/pbentry.dat format PACKET pbfileentry: 5 STRING { 'raiseonunterminatedread': False, 'raiseontruncate': False, 'default': '\xff\xff\xff\xff\xff' } +entry_tag if self.entry_tag==PB_ENTRY_SOR: 1 UINT { 'default': 0xff } +unk0 * PBDateTime { 'defaulttocurrenttime': True } +mod_date 6 STRING { 'terminator': None, 'default': '\xff\xff\xff\xff\xff\xff' } +unk1 4 UINT entry_number1 # 1 based entry number -- might be just 2 bytes long 2 UINT entry_number0 # 0 based entry number 34 USTRING { 'encoding': PHONE_ENCODING, 'raiseonunterminatedread': False, 'raiseontruncate': False} +name * LIST {'length': NUMGROUPS } +groups: 2 UINT { 'default': 0 } +gid * LIST {'length': NUMEMAILS} +emails: 49 USTRING {'encoding': PHONE_ENCODING, 'raiseonunterminatedread': False, 'default': ''} email 2 UINT { 'default': 0xffff } +ringtone 2 UINT { 'default': 0 } +wallpaper * LIST {'length': NUMPHONENUMBERS} +numbertypes: 1 UINT { 'default': 0 } numbertype 4 UINT { 'default': 0 } +unk2 31 USTRING {'encoding': PHONE_ENCODING, 'raiseonunterminatedread': False, 'default': ''} +memo * LIST {'length': NUMPHONENUMBERS} +numberindices: 2 UINT { 'default': 0xffff } numberindex 2 UINT { 'default': 0xffff } +addressindex 2 UINT { 'default': 0xffff } +unk3 2 UINT { 'default': 0xffff } +imindex 224 DATA { 'default': '\x00'*224 } +reserved 6 USTRING { 'encoding': PHONE_ENCODING, 'raiseonunterminatedread': False, 'raiseontruncate': False, 'default': '</PE>'} +exit_tag else: # this is a blank entry, fill it up with 0xFF 507 DATA { 'default': '\xff'*507 } +dontcare %{ def valid(self): global PB_ENTRY_SOR return self.entry_tag==PB_ENTRY_SOR and \ (self.name and ord(self.name[0]) != 0xff) %} PACKET pbfile: * LIST { 'elementclass': pbfileentry, 'length': NUMPHONEBOOKENTRIES, 'createdefault': True} +items 6 STRING { 'default': '<HPE>', 'raiseonunterminatedread': False, 'raiseontruncate': False } +eof_tag 10 STRING { 'raiseonunterminatedread': False, 'raiseontruncate': False } +model_name * PBDateTime { 'defaulttocurrenttime': True } +mod_date 477 DATA { 'default': '\x00'*477 } + blanks 7 STRING { 'default': '</HPE>', 'raiseonunterminatedread': False, 'raiseontruncate': False } +eof_close_tag PACKET pafileentry: 5 STRING { 'raiseonunterminatedread': False, 'raiseontruncate': False, 'default': '\xff\xff\xff\xff\xff' } +entry_tag if self.entry_tag==PA_ENTRY_SOR: 1 UINT { 'default': 0x00 } +pad0 * PBDateTime { 'defaulttocurrenttime': True } +mod_date 6 UNKNOWN +zeros 2 UINT +index 2 UINT +pb_entry 34 USTRING { 'encoding': PHONE_ENCODING, 'raiseonunterminatedread': False, 'raiseontruncate': False, 'default': '' } +street 34 USTRING { 'encoding': PHONE_ENCODING, 'raiseonunterminatedread': False, 'raiseontruncate': False, 'default': '' } +city 34 USTRING { 'encoding': PHONE_ENCODING, 'raiseonunterminatedread': False, 'raiseontruncate': False, 'default': '' } +state 12 USTRING { 'encoding': PHONE_ENCODING, 'raiseonunterminatedread': False, 'raiseontruncate': False, 'default': '' } +zip_code 34 USTRING { 'encoding': PHONE_ENCODING, 'raiseonunterminatedread': False, 'raiseontruncate': False, 'default': '' } +country 74 DATA { 'default': '\x00'*74 } +pad1 6 USTRING { 'encoding': PHONE_ENCODING, 'raiseonunterminatedread': False, 'raiseontruncate': False, 'default': '</PA>'} +exit_tag else: # this is a blank entry, fill it up with 0xFF 251 DATA { 'default': '\xff'*251 } +dontcare %{ def valid(self): global PA_ENTRY_SOR return self.entry_tag==PA_ENTRY_SOR %} PACKET pafile: * LIST { 'elementclass': pafileentry, 'length': NUMPHONEBOOKENTRIES, 'createdefault': True } +items # similar to the VX-8575 with a shorter name and shorter number_location PACKET call: 4 GPSDATE GPStime # no. of seconds since 0h 1-6-80, based off local time. 4 UINT unk0 # different for each call 4 UINT duration # seconds, not certain about length of this field 49 USTRING {'raiseonunterminatedread': False} number 33 USTRING {'encoding': PHONE_ENCODING, 'raiseonunterminatedread': False} name 1 UINT numberlength # length of phone number 1 UINT status # 0=outgoing, 1=incoming, 2=missed, etc 1 UINT pbnumbertype # 1=cell, 2=home, 3=office, 4=cell2, 5=fax, 6=vmail, 0xFF=not in phone book 4 UINT unk1 # always seems to be 0 2 UINT pbentrynum # entry number in phonebook 75 DATA number_location # set by pay software # similar to the VX-8575 but with an single unknown before the calls instead of 4 PACKET callhistory: 4 UINT { 'default': 0x00050000 } unk0 4 UINT numcalls 1 UINT { 'default': 0 } unk1 * LIST { 'elementclass': call, 'length': self.numcalls} +calls ------------------------------------------------------------------------------ _______________________________________________ BitPim-devel mailing list BitPim-devel@... https://lists.sourceforge.net/lists/listinfo/bitpim-devel |
|
|
Re: [bitpim-devel] want to help with lg cosmosThanks for the info. I almost have the environment setup. I'm able to run from Eclipse, however, there are some errors that are showing up in the editor. I'm guessing something wasn't installed correctly.
I've never developed for phones before. I was wondering if there is any architectural docs to look at, or is the code it the best bet? I looked over the lgvx1100 files last night. Thanks, -Ryan
On Mon, May 24, 2010 at 12:29 PM, hjelmn <hjelmn@...> wrote:
------------------------------------------------------------------------------ _______________________________________________ BitPim-devel mailing list BitPim-devel@... https://lists.sourceforge.net/lists/listinfo/bitpim-devel |
|
|
Re: [bitpim-devel] want to help with lg cosmosI think I answered my own question (at least partially). I'm going over the docs in dev-doc right now. I'll follow up if I have any further questions after digging in a little more.
-Ryan
On Wed, May 26, 2010 at 9:44 PM, Ryan <runnerdev@...> wrote: Thanks for the info. I almost have the environment setup. I'm able to run from Eclipse, however, there are some errors that are showing up in the editor. I'm guessing something wasn't installed correctly. ------------------------------------------------------------------------------ _______________________________________________ BitPim-devel mailing list BitPim-devel@... https://lists.sourceforge.net/lists/listinfo/bitpim-devel |
| Free embeddable forum powered by Nabble | Forum Help |