1 Commits

Author SHA1 Message Date
Andrew Gillham
c5a778b8b2 Add support for Arduino Mega external SRAM.
Using external SRAM (like Rugged Circuits "QuadRAM" board) we can have
up to 55KB of capture buffer space.
2011-12-27 16:01:42 -08:00
5 changed files with 419 additions and 459 deletions

5
README
View File

@@ -1,9 +1,6 @@
SUMP compatible logic analyzer for Arduino SUMP compatible logic analyzer for Arduino
========================================== ==========================================
NOTE: NOTE: v0.09 switches 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 This Arduino sketch implements a SUMP protocol compatible with the standard
SUMP client as well as the alternative client from here: SUMP client as well as the alternative client from here:
http://www.lxtreme.nl/ols/ http://www.lxtreme.nl/ols/
@@ -54,5 +51,5 @@ Please try it out and report back.
This master branch now supports Arduino 1.0 only. This master branch now supports Arduino 1.0 only.
Checkout branch logic_analyzer_v0_5 for Arduino 22 support. Checkout branch logic_analyzer_v0_5 for Arduino 22 support.
Release: v0.09 June 22, 2013. Release: v0.06 November 4, 2011.

File diff suppressed because it is too large Load Diff

View File

@@ -7,7 +7,7 @@ device.description = Arduino Generic Logic Analyzer
# The device interface, SERIAL only # The device interface, SERIAL only
device.interface = SERIAL device.interface = SERIAL
# The device's native clockspeed, in Hertz. # The device's native clockspeed, in Hertz.
device.clockspeed = 16000000 device.clockspeed = 100000000
# Whether or not double-data-rate is supported by the device (also known as the "demux"-mode). # Whether or not double-data-rate is supported by the device (also known as the "demux"-mode).
device.supports_ddr = false device.supports_ddr = false
# Supported sample rates in Hertz, separated by comma's # Supported sample rates in Hertz, separated by comma's
@@ -19,7 +19,7 @@ device.capturesizes = 64, 128, 256, 512, 1024
# Whether or not the noise filter is supported # Whether or not the noise filter is supported
device.feature.noisefilter = false device.feature.noisefilter = false
# Whether or not Run-Length encoding is supported # Whether or not Run-Length encoding is supported
device.feature.rle = true device.feature.rle = false
# Whether or not a testing mode is supported # Whether or not a testing mode is supported
device.feature.testmode = false device.feature.testmode = false
# Whether or not triggers are supported # Whether or not triggers are supported
@@ -30,7 +30,7 @@ device.trigger.stages = 1
device.trigger.complex = false device.trigger.complex = false
# The total number of channels usable for capturing # The total number of channels usable for capturing
device.channel.count = 6 device.channel.count = 5
# The number of channels groups, together with the channel count determines the channels per group # The number of channels groups, together with the channel count determines the channels per group
device.channel.groups = 1 device.channel.groups = 1
# Whether the capture size is limited by the enabled channel groups # Whether the capture size is limited by the enabled channel groups
@@ -39,15 +39,13 @@ device.capturesize.bound = false
device.channel.numberingschemes = DEFAULT device.channel.numberingschemes = DEFAULT
# Is a delay after opening the port and device detection needed? (0 = no delay, >0 = delay in milliseconds) # Is a delay after opening the port and device detection needed? (0 = no delay, >0 = delay in milliseconds)
device.open.portdelay = 1500 device.open.portdelay = 500
# The receive timeout for the device (in milliseconds, 100 = default, <=0 = no timeout)
device.receive.timeout = 100
# Does the device need a high or low DTR-line to operate correctly? (high = true, low = false) # Does the device need a high or low DTR-line to operate correctly? (high = true, low = false)
device.open.portdtr = true device.open.portdtr = true
# Which metadata keys correspond to this device profile? Value is a comma-separated list of (double quoted) names... # Which metadata keys correspond to this device profile? Value is a comma-separated list of (double quoted) names...
device.metadata.keys = "AGLAv0" device.metadata.keys = "AGLAv0"
# In which order are samples sent back from the device? false = last sample first, true = first sample first # In which order are samples sent back from the device? true = last sample first, false = first sample first
device.samples.reverseOrder = true device.samples.reverseOrder = false
###EOF### ###EOF###

View File

@@ -7,7 +7,7 @@ device.description = Arduino Mega Logic Analyzer
# The device interface, SERIAL only # The device interface, SERIAL only
device.interface = SERIAL device.interface = SERIAL
# The device's native clockspeed, in Hertz. # The device's native clockspeed, in Hertz.
device.clockspeed = 16000000 device.clockspeed = 100000000
# Whether or not double-data-rate is supported by the device (also known as the "demux"-mode). # Whether or not double-data-rate is supported by the device (also known as the "demux"-mode).
device.supports_ddr = false device.supports_ddr = false
# Supported sample rates in Hertz, separated by comma's # Supported sample rates in Hertz, separated by comma's
@@ -39,15 +39,13 @@ device.capturesize.bound = false
device.channel.numberingschemes = DEFAULT device.channel.numberingschemes = DEFAULT
# Is a delay after opening the port and device detection needed? (0 = no delay, >0 = delay in milliseconds) # Is a delay after opening the port and device detection needed? (0 = no delay, >0 = delay in milliseconds)
device.open.portdelay = 2000 device.open.portdelay = 1000
# The receive timeout for the device (in milliseconds, 100 = default, <=0 = no timeout)
device.receive.timeout = 100
# Does the device need a high or low DTR-line to operate correctly? (high = true, low = false) # Does the device need a high or low DTR-line to operate correctly? (high = true, low = false)
device.open.portdtr = true device.open.portdtr = true
# Which metadata keys correspond to this device profile? Value is a comma-separated list of (double quoted) names... # Which metadata keys correspond to this device profile? Value is a comma-separated list of (double quoted) names...
device.metadata.keys = "AGLAMv0" device.metadata.keys = "AGLAMv0"
# In which order are samples sent back from the device? false = last sample first, true = first sample first # In which order are samples sent back from the device? true = last sample first, false = first sample first
device.samples.reverseOrder = true device.samples.reverseOrder = false
###EOF### ###EOF###

51
ols.profile-aglamr.cfg Normal file
View File

@@ -0,0 +1,51 @@
# Configuration for Arduino MegaRAM Logic Analyzer profile
# The short (single word) type of the device described in this profile
device.type = AGLAMR
# A longer description of the device
device.description = Arduino MegaRAM Logic Analyzer
# The device interface, SERIAL only
device.interface = SERIAL
# The device's native clockspeed, in Hertz.
device.clockspeed = 100000000
# Whether or not double-data-rate is supported by the device (also known as the "demux"-mode).
device.supports_ddr = false
# Supported sample rates in Hertz, separated by comma's
device.samplerates = 10, 20, 50, 100, 200, 500, 1000, 2000, 5000, 10000, 20000, 50000, 100000, 200000, 500000, 1000000
# What capture clocks are supported
device.captureclock = INTERNAL
# The supported capture sizes, in bytes
device.capturesizes = 64, 128, 256, 512, 1024, 2048, 4096, 8192, 16384, 32768, 56320
# Whether or not the noise filter is supported
device.feature.noisefilter = false
# Whether or not Run-Length encoding is supported
device.feature.rle = false
# Whether or not a testing mode is supported
device.feature.testmode = false
# Whether or not triggers are supported
device.feature.triggers = true
# The number of trigger stages
device.trigger.stages = 1
# Whether or not "complex" triggers are supported
device.trigger.complex = false
# The total number of channels usable for capturing
device.channel.count = 8
# The number of channels groups, together with the channel count determines the channels per group
device.channel.groups = 1
# Whether the capture size is limited by the enabled channel groups
device.capturesize.bound = false
# Which numbering does the device support
device.channel.numberingschemes = DEFAULT
# Is a delay after opening the port and device detection needed? (0 = no delay, >0 = delay in milliseconds)
device.open.portdelay = 1000
# Does the device need a high or low DTR-line to operate correctly? (high = true, low = false)
device.open.portdtr = true
# Which metadata keys correspond to this device profile? Value is a comma-separated list of (double quoted) names...
device.metadata.keys = "AGLAMRv0"
# In which order are samples sent back from the device? true = last sample first, false = first sample first
device.samples.reverseOrder = false
###EOF###