Add a sketch with Sigrok support. Basically returning the capture buffer in the opposite order.

This commit is contained in:
Andrew Gillham
2023-10-03 23:00:05 -05:00
parent 71b7c4790d
commit 0b2651864e
7 changed files with 30074 additions and 6 deletions

View File

@@ -17,6 +17,31 @@ Pins 22-29 (Port A) are used by default.
Client Software
===============
Sigrok support via the 'ols' device configuration has been added. This
mostly involved returning the capture buffer in the reverse order.
Use the `logic_analyzer_sigrok` sketch. Since the OLS alternative client
mentioned below has some issues with newer Java versions, Sigrok is currently
the only practical way to use this logic analyzer. If you use an older machine
with an older operating system and older Java you can probably use the OLS client.
Sigrok support seems to work fairly well so I would currently recommend it for
anyone interested in trying this sketch.
Run PulseView like this on Linux: (I'll add Windows options after more testing)
```
PulseView --driver=ols:conn=/dev/ttyUSB0 --dont-scan
```
It may be necessary to exit and relaunch PulseView to get it to recognize the device.
An easy way to test the device is using the `sigrok-cli` utility. The command below
samples channel 2 at 1MHz. If you get a device not found error, but /dev/ttyUSB0 exists,
run this command a couple times and usually it will start working. Due to the way opening
the serial port resets the Arduino there are some issues/bugs to work out yet.
```
sigrok-cli --driver=ols:conn=/dev/ttyUSB0 --config samplerate=1Mhz --config pattern=External --samples 1024 --channels 2
```
The OLS alternative client hasn't had an official release recently so you will
need to compile it yourself.

View File

@@ -2,7 +2,7 @@
*
* SUMP Protocol Implementation for Arduino boards.
*
* Copyright (c) 2011,2012,2013,2014,2015,2016,2017,2018,2019,2020,2021 Andrew Gillham
* Copyright (c) 2011,2012,2013,2014,2015,2016,2017,2018,2019,2020,2021,2022,2023 Andrew Gillham
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -62,7 +62,7 @@
* until after the trigger fires.
* Please try it out and report back.
*
* Release: v0.15 December 21, 2021.
* Release: v0.16 October 3, 2023.
*
*/
@@ -949,7 +949,7 @@ void get_metadata() {
Serial.write('0');
Serial.write('.');
Serial.write('1');
Serial.write('5');
Serial.write('6');
Serial.write((uint8_t)0x00);
/* sample memory */

View File

@@ -2,7 +2,7 @@
*
* SUMP Protocol Implementation for Arduino boards.
*
* Copyright (c) 2011,2012,2013,2014,2015,2016,2017,2018,2019,2020,2021 Andrew Gillham
* Copyright (c) 2011,2012,2013,2014,2015,2016,2017,2018,2019,2020,2021,2022,2023 Andrew Gillham
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -62,7 +62,7 @@
* until after the trigger fires.
* Please try it out and report back.
*
* Release: v0.15 December 21, 2021.
* Release: v0.16 October 3, 2023.
*
*/
@@ -918,7 +918,7 @@ void get_metadata() {
Serial.write('0');
Serial.write('.');
Serial.write('1');
Serial.write('5');
Serial.write('6');
Serial.write((uint8_t)0x00);
/* sample memory */

View File

@@ -0,0 +1,22 @@
Copyright (c) 2011,2012,2013,2014,2015,2016,2017,2018,2019,2020,2021 Andrew Gillham
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY ANDREW GILLHAM ``AS IS'' AND ANY EXPRESS OR
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
IN NO EVENT SHALL ANDREW GILLHAM BE LIABLE FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff