On 07/27/2010 05:54 AM, Stephen Warren wrote:
> On 07/26/2010 01:04 PM, Phil Dibowitz wrote:
>> On Sat, Jul 24, 2010 at 07:58:27PM -0600, Stephen Warren wrote:
>>> OK. I added the prep_config/finish_config to test.pl and validated that
>>> this works on the 700. Updated version is attached.
>>
>> Thanks!
>>
>> I did a more thorough look through the code this time. There's only one
>> thing,
>> which I've put below.
>>
>> BTW - Greg accepted the kernel patch, it'll merge into Linus' tree at the
>> next
>> merge window.
>>
>>> Index: libconcord/remote.cpp
>>> ===================================================================
>>> RCS file: /cvsroot/concordance/concordance/libconcord/remote.cpp,v
>>> retrieving revision 1.39
>>> diff -u -p -r1.39 remote.cpp
>>> --- libconcord/remote.cpp 11 Feb 2009 20:00:13 -0000 1.39
>>> +++ libconcord/remote.cpp 25 Jul 2010 01:55:19 -0000
>>> @@ -103,7 +103,7 @@ int CRemote::GetIdentity(TRemoteInfo&ri
>>> const unsigned int rx_len = rsp[0]& 0x0F;
>>>
>>> if ((rsp[0]& 0xF0) != RESPONSE_VERSION_DATA ||
>>> - (rx_len != 7&& rx_len != 5)) {
>>> + (rx_len != 5&& rx_len != 7&& rx_len != 8)) {
>>> debug("Bogus ident response: %02X", rsp[1]);
>>> return LC_ERROR_INVALID_DATA_FROM_REMOTE;
>>> }
>>> @@ -117,7 +117,13 @@ int CRemote::GetIdentity(TRemoteInfo&ri
>>> ri.architecture = rx_len< 6 ? 2 : rsp[5]>> 4;
>>> ri.fw_type = rx_len< 6 ? 0 : rsp[5]& 0x0F;
>>> ri.skin = rx_len< 6 ? 2 : rsp[6];
>>> - ri.protocol = rx_len< 7 ? 0 : rsp[7];
>>> + if (rx_len< 7) {
>>> + ri.protocol = 0;
>>> + } else if (rx_len< 8) {
>>> + ri.protocol = rsp[7];
>>> + } else {
>>> + ri.protocol = ri.architecture;
>>> + }
>>
>> Wait, this doesn't seem right. protocol is a binary field which either says
>> to
>> use one rxlenmap or another, and also to determine if the max_chunk_len for
>> reading flash is 700 or 1022. So in the case of the 700 your making it 14,
>> which
>> will have the same effect as '1', but isn't quite what we want either.
>>
>> Am I completely missing something here?
>
> Yes, this is a little odd. However, IIRC, this matches what the official
> software prints. Or perhaps it doesn't print the value, but some field
> in the HTTP responses is the value of ri.protocol at least in
> libconcord, and the offical software sends 14 here. I don't think the
> value of ri.protocol is solely 0 or 1 on existing remotes?I had thought it was based on the way it was used, I've never actually bothered to look at the values. I'll see what my 880 has it set to when I get home from work tonight. (Wow, I just noticed after I apply this patch, I need to submit a style cleanup patch for this whole function). -- Phil Dibowitz [email protected] Open Source software and tech docs Insanity Palace of Metallica http://www.phildev.net/ http://www.ipom.com/ "Be who you are and say what you feel, because those who mind don't matter and those who matter don't mind." - Dr. Seuss
signature.asc
Description: OpenPGP digital signature
------------------------------------------------------------------------------ The Palm PDK Hot Apps Program offers developers who use the Plug-In Development Kit to bring their C/C++ apps to Palm for a share of $1 Million in cash or HP Products. Visit us here for more details: http://ad.doubleclick.net/clk;226879339;13503038;l? http://clk.atdmt.com/CRS/go/247765532/direct/01/
_______________________________________________ concordance-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/concordance-devel
