From 2d31a93687472da9950dd35d53fee67b8d5f9fea Mon Sep 17 00:00:00 2001 From: Andrew Gillham Date: Sat, 3 Aug 2013 13:23:02 -0700 Subject: [PATCH] Add notes about 2MHz/4MHz mode and binary size. Also move a couple more things under #ifdef DEBUG in an attempt to reduce the code size for ATmega168. It current doesn't fit in the '168 but maybe after some more tweaks. --- README | 10 ++++++++-- logic_analyzer.ino | 6 ++++++ 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/README b/README index 21b9031..8775803 100644 --- a/README +++ b/README @@ -1,7 +1,13 @@ SUMP compatible logic analyzer for Arduino ========================================== -NOTE: NOTE: v0.09 switched the channels BACK to pins 8-13 for trigger reliability. +NOTE: With v0.11 you can now sample at 4MHz & 2MHz rates in addition to the + previous 1MHz and lower rates. This is done via unrolled loops which + makes the source code huge but also the binary takes much more of the flash. + v0.11 is just slightly to big for an ATmega168's flash. You can comment + out either captureInline2mhz() or captureInline4mhz() and it will fit. + +NOTE: v0.09 switched the channels BACK to pins 8-13 for trigger reliability. Please report any issues. Uncomment USE_PORTD for pins 2-7. This Arduino sketch implements a SUMP protocol compatible with the standard @@ -37,7 +43,7 @@ platform, but on the mac it is here by default: To use this with the original or alternative SUMP clients, use these settings: -Sampling rate: 1MHz (or lower) +Sampling rate: 4MHz (or lower) Channel Groups: 0 (zero) only Recording Size: ATmega168: 532 (or lower) diff --git a/logic_analyzer.ino b/logic_analyzer.ino index 1425d09..f08cdf3 100644 --- a/logic_analyzer.ino +++ b/logic_analyzer.ino @@ -516,6 +516,7 @@ void captureMicro() { * Arduino digital pin 8 is being used here. */ DEBUG_ENABLE; +#ifdef DEBUG DEBUG_ON; delayMicroseconds(20); DEBUG_OFF; @@ -524,6 +525,7 @@ void captureMicro() { delayMicroseconds(20); DEBUG_OFF; delayMicroseconds(20); +#endif if (delayTime == 1) { /* @@ -691,6 +693,7 @@ void triggerMicro() { * Arduino digital pin 8 is being used here. */ DEBUG_ENABLE; +#ifdef DEBUG DEBUG_ON; delayMicroseconds(20); DEBUG_OFF; @@ -699,6 +702,7 @@ void triggerMicro() { delayMicroseconds(20); DEBUG_OFF; delayMicroseconds(20); +#endif if (delayTime == 1) { /* @@ -1027,3 +1031,5 @@ void debugdump() { + +