Sanyo Katana II DLX SCP-8500

"Ken Schnell" <[email protected]>
Newsgroups gmane.comp.mobile.bitpim.devel
Message-ID <001e01c83256$15557f00$6c0910ac@pilgrim3>
Here is what I have so far adapted from Stephens work on the Katana II, this
is what I have so far for the Katana DLX SCP-8500, it is not working as of
yet, I think in the code I have added the functions for the Recent Calls
list, but it does not show up in the display as an icon, there are other
issues as well..
I can get the Images from the camera..but that is about it right now.
Many of the features for this phone match the new LG phones - so I still
need to modify it to fit as the LG Vx9000 series has the Video(sd) and Video
settings in the media folder. Still alot of work to do. Any help on these
issues is appreciated!!! I am not a python programmer, nor do I know alot
about the cell phone file system / internal layout..
I would love to see the file system it would help me to interpolate how many
bytes each field in the phonebook has and if there are any "padding" bytes.

I have received the error
20:48:00.858 SCP-8500: Sanyo Error code 121
20:48:00.875 SCP-8500: sanyo phonebook response Data - 20 bytes
00000000 79 fa 00 09 72 00 ff ff 00 00 00 00 00 00 00 00
y...r...........
00000010 00 7e 98 7e                                         .~.~

20:48:00.890 SCP-8500: Skipping directory 2
20:48:00.905 ['uniqueserial', 'sync', 'ringtone-index', 'wallpaper-index',
'calendar', 'wallpapers']
20:48:00.905 {'calendar': 'OVERWRITE', 'wallpaper': 'OVERWRITE'}

I know the Phone book stores the following info:

Name, Icon/image for name
telephone + icon
Telephone + icon

Address
Email
Url
ringer (selects from normal / ringer & voice or from single tone (8
selections) , ringtone (8 selections), melodies..the cool tones not sure of
the format of these - think it is arm, or aac but the names have no
extensions.

I get the following when trying to get phonebook data
BitPim version: trunk-bitpim-developer build
An unexpected exception has occurred.
Please see the help for details on what to do.

Traceback (most recent call last):
  File "C:\My\Programs\Tools\Phone\BitPim\src\gui.py", line 284, in run
    res=call()
  File "C:\My\Programs\Tools\Phone\BitPim\src\gui.py", line 159, in __call__
    return apply(self.method, self.args+args, d)
  File "C:\My\Programs\Tools\Phone\BitPim\src\gui.py", line 1912, in getdata
    i[1](results)
  File "C:\My\Programs\Tools\Phone\BitPim\src\phones\com_sanyo6600.py", line
202, in getphonebook
    cat=result['groups'].get(groupid, {'name': "Unassigned"})['name']
KeyError: 'groups'

Variables by last 8 frames, innermost last

Frame run in C:\My\Programs\Tools\Phone\BitPim\src\gui.py at line 277
       resultcb =  <gui.Callback instance at 0x02DE6170>
            res =  None
           self =  <WorkerThread(BitPim helper, started daemon)>
           item =  (<gui.Request instance at 0x02EB1620>, <gui.Callback
instance at 0x02DE6170>)
           call =  <gui.Request instance at 0x02EB1620>
             ex =  KeyError('groups',)
              e =  KeyError('groups',)
          first =  0

Frame __call__ in C:\My\Programs\Tools\Phone\BitPim\src\gui.py at line 159
           self =  <gui.Request instance at 0x02EB1620>
           args =  ()
              d =  Keys []
                   {}
         kwargs =  Keys []
                   {}

Frame getdata in C:\My\Programs\Tools\Phone\BitPim\src\gui.py at line 1912
          count =  1
              i =  (<bound method GetPhoneDialog.GetPhoneBookSetting of
<guiwidgets.GetPhoneDialog;
           self =  <WorkerThread(BitPim helper, started daemon)>
            req =  <guiwidgets.GetPhoneDialog; proxy of <Swig Object of type
'wxDialog *' at 0x28ac
       willcall =  [(<bound method GetPhoneDialog.GetPhoneBookSetting of
<guiwidgets.GetPhoneDialog
        results =  Keys ['ringtone-index', 'sync', 'uniqueserial',
'wallpaper-index']
                   {'sync': {'phonebook': 'MERGE'}, 'wallpaper-index':
{1000: {'origin': 'camera',
           sync =  Keys ['phonebook']
                   {'phonebook': 'MERGE'}
             st =  0
           todo =  [(<bound method WorkerThread.rebootcheck of
<WorkerThread(BitPim helper, started

Frame getphonebook in
C:\My\Programs\Tools\Phone\BitPim\src\phones\com_sanyo6600.py at line 202
       reqindex =  <phones.p_sanyo6600.contactindexrequest object at
0x027D6B50>
      speedslot =  [0, 0, 0, 0, 0, 0, 0, 0]
         requrl =  <phones.p_sanyo6600.urlrequest object at 0x02C538D0>
      reqnumber =  <phones.p_sanyo6600.numberrequest object at 0x02C53F10>
       numemail =  0
      pictureid =  0
           slot =  149
          pbook =  Keys []
                   {}
     numentries =  0
      sortstuff =  <phones.p_sanyo6600.pbsortbuffer object at 0x02C539F0>
        reqname =  <phones.p_sanyo6600.namerequest object at 0x02C53A70>
         numurl =  0
        groupid =  225
        reqmemo =  <phones.p_sanyo6600.memorequest object at 0x02C53390>
       numcount =  0
       ringerid =  0
     reqaddress =  <phones.p_sanyo6600.addressrequest object at 0x02C53F50>
           name =  u''
       reqemail =  <phones.p_sanyo6600.emailrequest object at 0x02C53D30>
          count =  0
       resindex =  <phones.p_sanyo6600.contactindexresponse object at
0x02C53350>
              i =  7
        resname =  <phones.p_sanyo6600.nameresponse object at 0x034887D0>
          entry =  Keys []
                   {}
           self =  <phones.com_sanyo8500.Phone object at 0x030F3F90>
         result =  Keys ['ringtone-index', 'sync', 'uniqueserial',
'wallpaper-index']
                   {'sync': {'phonebook': 'MERGE'}, 'wallpaper-index':
{1000: {'origin': 'camera',

-------------------------------------------------------------------------
SF.Net email is sponsored by: The Future of Linux Business White Paper
from Novell.  From the desktop to the data center, Linux is going
mainstream.  Let it simplify your IT future.
http://altfarm.mediaplex.com/ad/ck/8857-50307-18918-4

_______________________________________________
BitPim-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bitpim-devel
p_sanyo8500.p (application/octet-stream, 2.7 KB) - not displayed
com_sanyo8500.py (text/plain, 3.7 KB)
### BITPIM
###
### Copyright (C) 2007 Stephen Wood <[email protected]>
###
### 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:$

"""Talk to the Sanyo Katana Dlx (SCP-8500) cell phone"""
# standard modules
import re
import time
import sha

# my modules
import common
import p_brew
import p_sanyo8300
import p_sanyo4930
import p_sanyo6600
import p_sanyo8400
import p_sanyo8500
import com_brew
import com_phone
import com_sanyo
import com_sanyomedia
import com_sanyonewer
# import com_sanyoseries8000
import com_sanyo3100
import com_sanyo6600
import com_sanyo8400
import prototypes
import bpcalendar

numbertypetab=( 'Mobile', 'Home', 'Work', 'Pager', 'Fax', 'Other')

class Phone(com_sanyo6600.Phone):
    "Talk to the Sanyo Katana Dlx (SCP-8500) cell phone"

    desc="SCP-8500"

    FIRST_MEDIA_DIRECTORY=1
    LAST_MEDIA_DIRECTORY=2

    imagelocations=(
        # offset, directory #, indexflag, type, maximumentries
        )
    wallpaperexts=(".jpg", ".png", ".mp4", ".3g2",".JPG")


    protocolclass=p_sanyo8500
    serialsname='scp8500'

    builtinringtones=( 'Ringer & Voice', 'Vibrate',  'None ', 'Normal', 'Single Tones', 'Ring Tones', 'Melodies',  
                       'Single Tone 1', 'Single Tone 2', 'Single Tone 3', 'Single Tone 4', 'Single Tone 5',
                       'Single Tone 6', 'Single Tone 7', 'Single Tone 8', '', '', '', '', '',
                       'Ring Tone 1', 'Ring Tone 2', 'Ring Tone 3', 'Ring Tone 4', 'Ring Tone 5',
                       'Ring Tone 6', 'Ring Tone 7', 'Ring Tone 8', '', '', '', '', '',
                       'KATANA', 'Je Te Veux', 'The Entertainer',
                       'Smooth Funk', 'Agnus Dei', 'BRANDENBURG',
                       'Etude Op.10 No.3', 'Good Morning', 'Calling!',
                       '')


    calendar_defaultringtone=3
    calendar_defaultcaringtone=3
    calendar_toneoffset=33
    calendar_tonerange=xrange(4,100)
    
    def __init__(self, logtarget, commport):
        com_sanyo6600.Phone.__init__(self, logtarget, commport)
        self.mode=self.MODENONE
        self.numbertypetab=numbertypetab

    def getfundamentals(self, results):
        """Gets information fundamental to interopating with the phone and UI."""
        req=self.protocolclass.esnrequest()
        res=self.sendpbcommand(req, self.protocolclass.esnresponse)
        results['uniqueserial']=sha.new(self.get_esn()).hexdigest()
        self.getmediaindices(results)

        #results['groups']=self.read_groups()

        self.log("Fundamentals retrieved")

        return results

    my_model='SCP-8500/US'
    my_manufacturer='SANYO'

parentprofile=com_sanyo6600.Profile
class Profile(parentprofile):

    protocolclass=Phone.protocolclass
    serialsname=Phone.serialsname
    phone_manufacturer=Phone.my_manufacturer
    phone_model=Phone.my_model

    usbids=( ( 0x0474, 0x0748, 1),)  # VID=Sanyo, 8500,1
    deviceclasses=("modem", "serial")


    _supportedsyncs=(
        ('phonebook', 'read', None),  # all phonebook reading
        ('calendar', 'read', None),   # all calendar reading
        #('phonebook', 'write', 'OVERWRITE'),  # only overwriting phonebook
        #('calendar', 'write', 'OVERWRITE'),   # only overwriting calendar
        ('wallpaper', 'read', None),  # all wallpaper reading
        ('ringtone', 'read', None),   # all ringtone reading
        ('call_history', 'read', None),# all call history list reading
        ('sms', 'read', None), # Read sms messages
        ('todo', 'read', None), # Read todos
    )

    def __init__(self):
        parentprofile.__init__(self)
        com_sanyonewer.Profile.__init__(self)
        self.numbertypetab=numbertypetab
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.