Use unrolled loops to sample at 2MHz & 4MHz rates. Based on some
testing by Bob Davis (http://bobdavis321.blogspot.com)
The maximum with a 16MHz clock is 5.3333MHz (3 cycles per sample) but
sampling at that rate isn't very accurate. Accuracy is pretty good at
2MHz & 4MHz.
Triggers are more reliable on PORTB. I am working on fixing triggers
on PORTD, but I'm setting this back to original behavior (with a
#define USE_PORTD available) so this isn't broken for triggering.
Switch from PORTB to PORTD so that a full 6 channels can be used
without messing with the LED. Per suggestion in issue #7. I was
unable to find any issues with using PORTB. During initial development
I ran into some noise & stability issues but I believe those were
solved later via allowing the ports to settle prior to beginning
sampling.
This allows for 6 channels, starting with digital pin 2 (next to the
UART TX pin) and ending at digital pin 7.
The debug pin is now digital pin 8.
Support RLE mode for samples rates of 50Hz or less. Code from hhermsen
in issue #9.
This is a work in progress. Hopefully RLE can be added for higher
sample rates in the future.
The sample loop was not padded properly in the loop waiting for the
trigger to fire. As a result it was sampling at a much higher rate than
the post trigger sample rate. I've added some delays and padded it out
a bit, it needs further measurement, but is usable now.