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 p...@ipom.com 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 concordance-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/concordance-devel