Discussion:
[Bitpim-devel] Re: [bitpim-cvs-checkins] bitpim gui.py,1.152,1.153
Roger Binns
2004-11-16 16:33:06 UTC
Permalink
Rearranged order of sending info to phone
They were in a very specific order already (except calendar which
was random).

In particular the wallpaper and ringtones were made to go before the
phonebook (and should have been before calendar). This is because
the user may have selected more ringtones/wallpapers than fit on
the phone, yet have phonebook entries pointing to them. Also on
most phones, the wallpapers and ringtones are assigned an id number.
That same number has to be used in the phonebook and calendar,
and obviously we don't know what the number will be until the wallpaper
and ringtones have been written.

I have reversed the change for the moment (and put calendar where it
should be).

Why do you need the order to be different?

Roger
d***@netzero.com
2004-11-16 17:12:52 UTC
Permalink
That makes sense. I did it because it was not working for the Samsung phones due to the switch back & forth between AT and BREW mode, for now. The current work around is to do phonebook & calendar together and wallpapers & ringtones together, which I can live with. Thanks for backing out the change.

-Joe Pham
Rearranged order of sending info to phone
They were in a very specific order already (except calendar which
was random).

In particular the wallpaper and ringtones were made to go before the
phonebook (and should have been before calendar). This is because
the user may have selected more ringtones/wallpapers than fit on
the phone, yet have phonebook entries pointing to them. Also on
most phones, the wallpapers and ringtones are assigned an id number.
That same number has to be used in the phonebook and calendar,
and obviously we don't know what the number will be until the wallpaper
and ringtones have been written.

I have reversed the change for the moment (and put calendar where it
should be).

Why do you need the order to be different?

Roger


-------------------------------------------------------
This SF.Net email is sponsored by: InterSystems CACHE
FREE OODBMS DOWNLOAD - A multidimensional database that combines
robust object and relational technologies, making it a perfect match
for Java, C++,COM, XML, ODBC and JDBC. www.intersystems.com/match8
_______________________________________________
Bitpim-devel mailing list
Bitpim-***@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitpim-devel


________________________________________________________________
Look for special offers on
NetZero Platinum & NetZero HiSpeed
Visit Best Buy, RadioShack or Kmart Today.
Roger Binns
2004-11-17 02:52:42 UTC
Permalink
Post by d***@netzero.com
That makes sense. I did it because it was not working for the
Samsung phones due to the switch back & forth between AT and
BREW mode, for now. The current work around is to do phonebook
& calendar together and wallpapers & ringtones together, which
I can live with. Thanks for backing out the change.
We'll keep the order as it is now as the default since it makes
the most sense for the most phones. If any particular model needs
them in a different order, something can be added to the Profile.

Roger
Vic Heintz
2004-11-16 17:44:32 UTC
Permalink
I definitely agree with Roger here. Ringers and wallpapers MUST have
the same IDs they have on the phone. Please let me know if any of this
will break my A670 code which is modeled after the A650. I'm still
struggling to get the phonebook wallpaper and ringer assignments
working for the A670. (Perhaps the A650 doesn't have this feature but
keep in mind that other Samsung models do. I hate to be so dependent on
following your A650 lead but I am still on a steep python programming
learning curve.)

Vic
Post by d***@netzero.com
That makes sense. I did it because it was not working for the Samsung
phones due to the switch back & forth between AT and BREW mode, for
now. The current work around is to do phonebook & calendar together
and wallpapers & ringtones together, which I can live with. Thanks
for backing out the change.
-Joe Pham
Rearranged order of sending info to phone
They were in a very specific order already (except calendar which
was random).
In particular the wallpaper and ringtones were made to go before the
phonebook (and should have been before calendar). This is because
the user may have selected more ringtones/wallpapers than fit on
the phone, yet have phonebook entries pointing to them. Also on
most phones, the wallpapers and ringtones are assigned an id number.
That same number has to be used in the phonebook and calendar,
and obviously we don't know what the number will be until the wallpaper
and ringtones have been written.
I have reversed the change for the moment (and put calendar where it
should be).
Why do you need the order to be different?
Roger
-------------------------------------------------------
This SF.Net email is sponsored by: InterSystems CACHE
FREE OODBMS DOWNLOAD - A multidimensional database that combines
robust object and relational technologies, making it a perfect match
for Java, C++,COM, XML, ODBC and JDBC. www.intersystems.com/match8
_______________________________________________
Bitpim-devel mailing list
https://lists.sourceforge.net/lists/listinfo/bitpim-devel
________________________________________________________________
Look for special offers on
NetZero Platinum & NetZero HiSpeed
Visit Best Buy, RadioShack or Kmart Today.
-------------------------------------------------------
This SF.Net email is sponsored by: InterSystems CACHE
FREE OODBMS DOWNLOAD - A multidimensional database that combines
robust object and relational technologies, making it a perfect match
for Java, C++,COM, XML, ODBC and JDBC. www.intersystems.com/match8
_______________________________________________
Bitpim-devel mailing list
https://lists.sourceforge.net/lists/listinfo/bitpim-devel
d***@netzero.com
2004-11-16 17:58:14 UTC
Permalink
Nothing was changed in the phone specific code so there should be no impacts to your A670 code. In any case, Roger already backed out the change so your code should see no changes.

-Joe Pham

-- Vic Heintz <***@rochester.rr.com> wrote:
I definitely agree with Roger here. Ringers and wallpapers MUST have
the same IDs they have on the phone. Please let me know if any of this
will break my A670 code which is modeled after the A650. I'm still
struggling to get the phonebook wallpaper and ringer assignments
working for the A670. (Perhaps the A650 doesn't have this feature but
keep in mind that other Samsung models do. I hate to be so dependent on
following your A650 lead but I am still on a steep python programming
learning curve.)

Vic
Post by d***@netzero.com
That makes sense. I did it because it was not working for the Samsung
phones due to the switch back & forth between AT and BREW mode, for
now. The current work around is to do phonebook & calendar together
and wallpapers & ringtones together, which I can live with. Thanks
for backing out the change.
-Joe Pham
Rearranged order of sending info to phone
They were in a very specific order already (except calendar which
was random).
In particular the wallpaper and ringtones were made to go before the
phonebook (and should have been before calendar). This is because
the user may have selected more ringtones/wallpapers than fit on
the phone, yet have phonebook entries pointing to them. Also on
most phones, the wallpapers and ringtones are assigned an id number.
That same number has to be used in the phonebook and calendar,
and obviously we don't know what the number will be until the wallpaper
and ringtones have been written.
I have reversed the change for the moment (and put calendar where it
should be).
Why do you need the order to be different?
Roger
-------------------------------------------------------
This SF.Net email is sponsored by: InterSystems CACHE
FREE OODBMS DOWNLOAD - A multidimensional database that combines
robust object and relational technologies, making it a perfect match
for Java, C++,COM, XML, ODBC and JDBC. www.intersystems.com/match8
_______________________________________________
Bitpim-devel mailing list
https://lists.sourceforge.net/lists/listinfo/bitpim-devel
________________________________________________________________
Look for special offers on
NetZero Platinum & NetZero HiSpeed
Visit Best Buy, RadioShack or Kmart Today.
-------------------------------------------------------
This SF.Net email is sponsored by: InterSystems CACHE
FREE OODBMS DOWNLOAD - A multidimensional database that combines
robust object and relational technologies, making it a perfect match
for Java, C++,COM, XML, ODBC and JDBC. www.intersystems.com/match8
_______________________________________________
Bitpim-devel mailing list
https://lists.sourceforge.net/lists/listinfo/bitpim-devel
-------------------------------------------------------
This SF.Net email is sponsored by: InterSystems CACHE
FREE OODBMS DOWNLOAD - A multidimensional database that combines
robust object and relational technologies, making it a perfect match
for Java, C++,COM, XML, ODBC and JDBC. www.intersystems.com/match8
_______________________________________________
Bitpim-devel mailing list
Bitpim-***@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitpim-devel


________________________________________________________________
NetZero Platinum $9.95.
NetZero HiSpeed $14.95.
Sign up Today at http://www.netzero.net or
Visit Sam Goody, Suncoast or MediaPlay Stores.
Stephen Wood
2004-11-16 20:25:55 UTC
Permalink
Post by Roger Binns
Rearranged order of sending info to phone
...
Post by Roger Binns
I have reversed the change for the moment (and put calendar where it
should be).
Why do you need the order to be different?
Roger
For Samsung phones, it is looking like the phonebook and calendar access
will be in modem mode and the ringer and wallpaper access will be in
Brew mode. Furthermore, as Vic is learning, some details of phonebook
ringer/wallpaper assignments can only be learned in Brew mode.

The way I think that we will eventually conclude things have to work is
that we will first do all things that need AT commands, and then do all
things that need Brew. So the sequence operations might be:

check if in brew mode, if so, tell user to reboot and try again.
getfundamentals
phonebook
calendar
ringers
wallpaper
postprocess
reboot

On read, postprocess might fix up the phonebook based on information
gathered during the ringer/wallpaper reading.

I don't know if writing can be fit into this mold so that we don't have
to reboot in the middle.

One could imagine rebooting during the middle of things rather than just
at the end. Aside from making things take longer, I am not sure that
auto rebooting will be entirely reliable. The only cable I have is a
charging cable. When the phone is commanded to reboot, the phone does
not come back to a full on state. It displays the charging message and
is not associated with the wireless network. The phone is actually
alive, and will still communicate with BitPim, but kind of in slow
motion. It has a tendency to timeout during communication (this could
probably be worked around). If I have to tell a user to make sure that
the phone is really on, I would rather say that before doing anything
than in the middle of xfer operations.

Those of you with non charging cables: What happens when BitPim tells
the phone to reboot. Does the phone reboot fully?



Stephen
Vic Heintz
2004-11-16 21:19:28 UTC
Permalink
Post by Stephen Wood
Post by Roger Binns
Rearranged order of sending info to phone
...
Post by Roger Binns
I have reversed the change for the moment (and put calendar where it
should be).
Why do you need the order to be different?
Roger
For Samsung phones, it is looking like the phonebook and calendar
access
will be in modem mode and the ringer and wallpaper access will be in
Brew mode. Furthermore, as Vic is learning, some details of phonebook
ringer/wallpaper assignments can only be learned in Brew mode.
The way I think that we will eventually conclude things have to work is
that we will first do all things that need AT commands,
Does this mean we could get the builtin ringtone index table
dynamically with the AT#PUGSN? command instead of listing them directly
in the code?
Post by Stephen Wood
and then do all
check if in brew mode, if so, tell user to reboot and try again.
getfundamentals
phonebook
calendar
ringers
wallpaper
postprocess
reboot
On read, postprocess might fix up the phonebook based on information
gathered during the ringer/wallpaper reading.
So the ringer and wallpaper ids received during phonebook reads would
have to be stored somewhere.
Post by Stephen Wood
I don't know if writing can be fit into this mold so that we don't have
to reboot in the middle.
One could imagine rebooting during the middle of things rather than
just
at the end. Aside from making things take longer, I am not sure that
auto rebooting will be entirely reliable. The only cable I have is a
charging cable. When the phone is commanded to reboot, the phone does
not come back to a full on state. It displays the charging message and
is not associated with the wireless network. The phone is actually
alive, and will still communicate with BitPim, but kind of in slow
motion. It has a tendency to timeout during communication (this could
probably be worked around). If I have to tell a user to make sure that
the phone is really on, I would rather say that before doing anything
than in the middle of xfer operations.
Those of you with non charging cables: What happens when BitPim tells
the phone to reboot. Does the phone reboot fully?
Yes it does.

I now wonder how you handle the Send operation. Suppose a user adds a
ringer to bitpim then goes to the phonebook and selects this ringer for
one of the phone entries (or is it unavailable for selection here?)
BitPim has no idea what ID the phone will assign to this ringer so if a
send is done and, as part of the "AT set", the phonebook is sent before
the ringer, there will be no way to assign the correct ringer to that
phonebook entry. A sImilar problem would occur with wallpapers. Any
send operation of ringers or wallpapers will have to include a read of
the name-->ID mapping table so the IDs in BitPim can be reset to the
correct ones that the phone assigns.

The more I think about it, the more complex this problem seems.

Vic
d***@netzero.com
2004-11-16 23:49:39 UTC
Permalink
Stephen, nice job of explaining the situation, that's I meant to say in my last post :-)

If you could get the ringtone info by using #PUGSN then you should use it. However, you'd need to somehow determine which ones are builtins and which ones are not. Unfortunately for me, the A650 phones do not support #PUGSN command so I'm stuck.

One possible sequence of operations would include:
1. Upload wallpapers, ringtones, and reboot.
2. Download wallpapers & ringtones with correct indices and reboot.
3. Assign wallpaper & ringtone indices obtained in step 2 to phonebook and calendar entries.
4. Save phoneboot and calendar entries to phone.

-Joe Pham
Post by Stephen Wood
Post by Roger Binns
Rearranged order of sending info to phone
...
Post by Roger Binns
I have reversed the change for the moment (and put calendar where it
should be).
Why do you need the order to be different?
Roger
For Samsung phones, it is looking like the phonebook and calendar
access
will be in modem mode and the ringer and wallpaper access will be in
Brew mode. Furthermore, as Vic is learning, some details of phonebook
ringer/wallpaper assignments can only be learned in Brew mode.
The way I think that we will eventually conclude things have to work is
that we will first do all things that need AT commands,
Does this mean we could get the builtin ringtone index table
dynamically with the AT#PUGSN? command instead of listing them directly
in the code?
Post by Stephen Wood
and then do all
check if in brew mode, if so, tell user to reboot and try again.
getfundamentals
phonebook
calendar
ringers
wallpaper
postprocess
reboot
On read, postprocess might fix up the phonebook based on information
gathered during the ringer/wallpaper reading.
So the ringer and wallpaper ids received during phonebook reads would
have to be stored somewhere.
Post by Stephen Wood
I don't know if writing can be fit into this mold so that we don't have
to reboot in the middle.
One could imagine rebooting during the middle of things rather than
just
at the end. Aside from making things take longer, I am not sure that
auto rebooting will be entirely reliable. The only cable I have is a
charging cable. When the phone is commanded to reboot, the phone does
not come back to a full on state. It displays the charging message and
is not associated with the wireless network. The phone is actually
alive, and will still communicate with BitPim, but kind of in slow
motion. It has a tendency to timeout during communication (this could
probably be worked around). If I have to tell a user to make sure that
the phone is really on, I would rather say that before doing anything
than in the middle of xfer operations.
Those of you with non charging cables: What happens when BitPim tells
the phone to reboot. Does the phone reboot fully?
Yes it does.

I now wonder how you handle the Send operation. Suppose a user adds a
ringer to bitpim then goes to the phonebook and selects this ringer for
one of the phone entries (or is it unavailable for selection here?)
BitPim has no idea what ID the phone will assign to this ringer so if a
send is done and, as part of the "AT set", the phonebook is sent before
the ringer, there will be no way to assign the correct ringer to that
phonebook entry. A sImilar problem would occur with wallpapers. Any
send operation of ringers or wallpapers will have to include a read of
the name-->ID mapping table so the IDs in BitPim can be reset to the
correct ones that the phone assigns.

The more I think about it, the more complex this problem seems.

Vic



-------------------------------------------------------
This SF.Net email is sponsored by: InterSystems CACHE
FREE OODBMS DOWNLOAD - A multidimensional database that combines
robust object and relational technologies, making it a perfect match
for Java, C++,COM, XML, ODBC and JDBC. www.intersystems.com/match8
_______________________________________________
Bitpim-devel mailing list
Bitpim-***@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitpim-devel


________________________________________________________________
NetZero Platinum $9.95.
NetZero HiSpeed $14.95.
Sign up Today at http://www.netzero.net or
Visit Sam Goody, Suncoast or MediaPlay Stores.
Roger Binns
2004-11-17 02:50:46 UTC
Permalink
Post by d***@netzero.com
1. Upload wallpapers, ringtones, and reboot.
2. Download wallpapers & ringtones with correct indices and reboot.
3. Assign wallpaper & ringtone indices obtained in step 2 to
phonebook and calendar entries.
4. Save phoneboot and calendar entries to phone.
This is how it is done on other phones:

- getfundamentals gets the current media to id listings
- if wallpapers or ringtones are selected, then they are
written and the listings updated
- phonebook is written using the current listings

This works correctly whether the user did a wallpaper
sync or not, and will even do the right thing if the user
altered the name to id mappings via some other means (eg
if they synced on a different machine).

The listings are simply wallpaper-index and ringtone-index
in the results dict.

Roger
Vic Heintz
2004-11-17 01:29:36 UTC
Permalink
Post by d***@netzero.com
Stephen, nice job of explaining the situation, that's I meant to say
in my last post :-)
If you could get the ringtone info by using #PUGSN then you should use
it. However, you'd need to somehow determine which ones are builtins
and which ones are not. Unfortunately for me, the A650 phones do not
support #PUGSN command so I'm stuck.
1. Upload wallpapers, ringtones, and reboot.
2. Download wallpapers & ringtones with correct indices and reboot.
3. Assign wallpaper & ringtone indices obtained in step 2 to phonebook
and calendar entries.
4. Save phoneboot and calendar entries to phone.
I guess I was wishfully thinking that since the #PUGSN command was
available for A310, A620, and A670 then it must be a universal Samsung
thing. It only returns built-in ringtone names anyway. It is certainly
not worth an extra reboot to get it from the phone each time. Just
thought it would make adding a new phone model easier.

On the A670 the user-loaded ringtones reside in brew/ringer but the
file nvm/nvm/brew_melody contains the ID-to-name map. I have a
prototype routine to read that file in my A670 module. I presume other
Samsung models have a similar file.

Vic
Stephen Wood
2004-11-17 01:55:23 UTC
Permalink
Post by Vic Heintz
Post by d***@netzero.com
Stephen, nice job of explaining the situation, that's I meant to say
in my last post :-)
If you could get the ringtone info by using #PUGSN then you should use
it. However, you'd need to somehow determine which ones are builtins
and which ones are not. Unfortunately for me, the A650 phones do not
support #PUGSN command so I'm stuck.
1. Upload wallpapers, ringtones, and reboot.
2. Download wallpapers & ringtones with correct indices and reboot.
3. Assign wallpaper & ringtone indices obtained in step 2 to phonebook
and calendar entries.
4. Save phoneboot and calendar entries to phone.
Hopefully we won't need so many reboots.
Post by Vic Heintz
I guess I was wishfully thinking that since the #PUGSN command was
available for A310, A620, and A670 then it must be a universal Samsung
thing. It only returns built-in ringtone names anyway. It is certainly
not worth an extra reboot to get it from the phone each time. Just
thought it would make adding a new phone model easier.
We shouldn't need to reboot just for PUGSN. We can do that whenever we
are in AT mode (such as in getfundamentals).
Post by Vic Heintz
On the A670 the user-loaded ringtones reside in brew/ringer but the
file nvm/nvm/brew_melody contains the ID-to-name map. I have a
prototype routine to read that file in my A670 module. I presume other
Samsung models have a similar file.
Do you know if that file is writable? (On some other brands we don't
know how to overwrite files in nvm.)

Stephen
Vic Heintz
2004-11-17 02:25:56 UTC
Permalink
Post by Stephen Wood
Post by Vic Heintz
On the A670 the user-loaded ringtones reside in brew/ringer but the
file nvm/nvm/brew_melody contains the ID-to-name map. I have a
prototype routine to read that file in my A670 module. I presume other
Samsung models have a similar file.
Do you know if that file is writable? (On some other brands we don't
know how to overwrite files in nvm.)
I don't know but I suspect it is NOT overwriteable. I'd be afraid to
try. There are other fields in the file that I haven't identified. That
is why I think when we send a new ringtone to the phone we need to read
this file again to find out what ID gets assigned.

I can upload listings of brew_melody and brew_image to either dev-doc
or examples. Which is more appropriate?

Vic
Stephen Wood
2004-11-17 02:32:41 UTC
Permalink
Post by Vic Heintz
Post by Stephen Wood
Post by Vic Heintz
On the A670 the user-loaded ringtones reside in brew/ringer but the
file nvm/nvm/brew_melody contains the ID-to-name map. I have a
prototype routine to read that file in my A670 module. I presume other
Samsung models have a similar file.
Do you know if that file is writable? (On some other brands we don't
know how to overwrite files in nvm.)
I don't know but I suspect it is NOT overwriteable. I'd be afraid to
try. There are other fields in the file that I haven't identified. That
is why I think when we send a new ringtone to the phone we need to read
this file again to find out what ID gets assigned.
After you write ringtones to the phone, do you have to reboot the phone
in order for brew_melody to get updated?
Post by Vic Heintz
I can upload listings of brew_melody and brew_image to either dev-doc
or examples. Which is more appropriate?
Probably examples.


Stephen
Vic Heintz
2004-11-17 12:09:56 UTC
Permalink
Post by Stephen Wood
Post by Vic Heintz
Post by Stephen Wood
Do you know if that file is writable? (On some other brands we don't
know how to overwrite files in nvm.)
Apparently not:
File "/Users/vic/Projects/bitpim/com_brew.py", line 434, in
sendbrewcommand
raise BrewFileLockedException()
BrewFileLockedException: File is locked
Post by Stephen Wood
Post by Vic Heintz
I don't know but I suspect it is NOT overwriteable. I'd be afraid to
try. There are other fields in the file that I haven't identified.
That
is why I think when we send a new ringtone to the phone we need to
read
this file again to find out what ID gets assigned.
After you write ringtones to the phone, do you have to reboot the phone
in order for brew_melody to get updated?
Yes, The file is not changed and ringtone is not available on the phone
until it is rebooted.

Vic

Loading...