Michael,

Can you give the attached patch a try?

[Note for those interested, this patch has a fix to the bug Steven found, a
fix to the max_chunk_len previous sent out (but not yet committed) and a
debug function not currently used, but I'm too lazy to take out at the moment.]

-- 
Phil Dibowitz                             p...@ipom.com
Open Source software and tech docs        Insanity Palace of Metallica
http://www.phildev.net/                   http://www.ipom.com/

"Never write it in C if you can do it in 'awk';
 Never do it in 'awk' if 'sed' can handle it;
 Never use 'sed' when 'tr' can do the job;
 Never invoke 'tr' when 'cat' is sufficient;
 Avoid using 'cat' whenever possible" -- Taylor's Laws of Programming

? .deps
? .libs
? Makefile
? Makefile.in
? aclocal.m4
? autom4te.cache
? binaryfile.lo
? config.h
? config.h.in
? config.log
? config.status
? config.sub
? configure
? depcomp
? install-sh
? libconcord.la
? libconcord.lo
? libtool
? libusbhid.lo
? ltmain.sh
? missing
? remote.lo
? remote_z.lo
? stamp-h1
? usblan.lo
? web.lo
? bindings/perl/Makefile
? bindings/perl/blib
? bindings/perl/concord.bs
? bindings/perl/concord.pm
? bindings/perl/concord_wrap.c
? bindings/perl/pm_to_blib
Index: libconcord.cpp
===================================================================
RCS file: /cvsroot/concordance/concordance/libconcord/libconcord.cpp,v
retrieving revision 1.38
diff -u -r1.38 libconcord.cpp
--- libconcord.cpp	14 Oct 2008 19:35:01 -0000	1.38
+++ libconcord.cpp	4 Feb 2009 20:46:45 -0000
@@ -1061,7 +1061,7 @@
 
 	uint8_t data[1];
 	if (ri.arch->firmware_update_base == ri.arch->firmware_base) {
-		data[0] = 0x00;
+		data[0] = 0x02;
 		if ((err = rmt->WriteFlash(0x200000, 1, data, ri.protocol, NULL,
 			NULL)))
 			return LC_ERROR;
@@ -1106,6 +1106,11 @@
 	return 0;
 }
 
+int read_arbitrary_flash(int addr, uint32_t size, uint8_t **out)
+{
+	return _read_fw_from_remote(*out, size, addr, NULL, NULL);
+}
+
 int read_firmware_from_remote(uint8_t **out, uint32_t *size, lc_callback cb,
 	void *cb_arg)
 {
Index: libconcord.h
===================================================================
RCS file: /cvsroot/concordance/concordance/libconcord/libconcord.h,v
retrieving revision 1.21
diff -u -r1.21 libconcord.h
--- libconcord.h	14 Oct 2008 19:35:01 -0000	1.21
+++ libconcord.h	4 Feb 2009 20:46:46 -0000
@@ -464,6 +464,9 @@
 int post_new_code(uint8_t *data, uint32_t size, 
 	char *key_name, char *encoded_signal);
 
+/* debug */
+int read_arbitrary_flash(int addr, uint32_t size, uint8_t **out);
+
 #ifdef __cplusplus
 }
 #endif
Index: remote.cpp
===================================================================
RCS file: /cvsroot/concordance/concordance/libconcord/remote.cpp,v
retrieving revision 1.37
diff -u -r1.37 remote.cpp
--- remote.cpp	20 Dec 2008 23:10:40 -0000	1.37
+++ remote.cpp	4 Feb 2009 20:46:46 -0000
@@ -367,7 +367,7 @@
 
 	uint32_t cb_count = 0;
 	const unsigned int max_chunk_len = 
-		protocol == 0 ? 749 : 1023;
+		protocol == 0 ? 749 : 3150;
 
 	/* mapping of lenghts - see specs/protocol.txt */
 	static const unsigned int txlenmap0[] =

Attachment: signature.asc
Description: OpenPGP digital signature

------------------------------------------------------------------------------
Create and Deploy Rich Internet Apps outside the browser with Adobe(R)AIR(TM)
software. With Adobe AIR, Ajax developers can use existing skills and code to
build responsive, highly engaging applications that combine the power of local
resources and data with the reach of the web. Download the Adobe AIR SDK and
Ajax docs to start building applications today-http://p.sf.net/sfu/adobe-com
_______________________________________________
concordance-devel mailing list
concordance-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/concordance-devel

Reply via email to