gusmanb / logicanalyzer Goto Github PK
View Code? Open in Web Editor NEW24 channel, 100Msps logic analyzer hardware and software
License: GNU General Public License v3.0
24 channel, 100Msps logic analyzer hardware and software
License: GNU General Public License v3.0
Where and what files for windows users need to use/install the software?
I got the LogicAnalyzer run on M1 chip Macos, but I can't start up the soft, here is the message below
zsh: killed ./LogicAnalyzer
Could someone please help, thanks a lot.
Hi,
can be nice to have a playback feature.
After you recorded the signal you can play it back to simulate the original device.
Do you think it is feasible and interesting?
thank you very much for the project!
Where did you find the 2x15 headers for the PCBs? I can't quite tell from the photos but it looks like the Logic PCB as one 2x15 Female header, and the Level Shifter PCB has one 2x15 Male header and one 2x15 Female header? All headers are Right Angle as well it looks like. I've tried to find these headers on Mouser and a few other sites, but can't find them.
The LogicAnalyser does not keep the configured state:
on recapture, it looses the setting "samples in screen". What is more annoying is that it also looses the information about the protocol analyzer. Having to tell the program for every capture that I want to do an I2C-analysis and having to redefine the SDA/SCL channels is cumbersome.
It would be great if this would be kept as part of the configuration. Some more things on the whishlist:
Another note: the visual design does not seem to be very ergonomic (very low contrasts of controls). In fact in my first experiments I missed the scrollbar on the bottom, because I could not identify it. But maybe this is Linux specific.
Hey! Great work on this project it is very impressive.
I've been trying to get it up and running to debug SPI signals from another pico, but I can't seem to get the protocol analyzer feature working as the option is always grayed out. I'm using the latest release (2.1.0.1) on Windows 10 22H2. I saw issue #22 and copied the analyzers folder from release 2.0.0.0 but no luck. I am also using the latest firmware release.
Steps to reproduce:
I've tried this on Windows 22H2, and Ubuntu 20.04.
I'm wondering if it could be my error and I am incorrectly using the software. Let me know if you need any more information and thanks in advance!
Hi,
it would be useful if ClCapture could name the channels when sampling. In this use case ClCapture is started in a loop and exporting the data to a different file for each run. Having the channel names in the captured files would be really helpful.
Regards,
As Sigrok trigger settings are very limited and one of the best features of the device is the complex triggers, a command line capture application that stores results in a compatible format for PulseView could be developed leveraging the better of both systems.
Thanks for the tool, it works very well.
However, I've an issue with the reported channel number and the board GPIO number.
Typically, I'm plugging a I2C connector with (VCC, GND, SCL, SDA) pin on GPIO (5, GND, 6, 7) (VCC is just because I already have a 4 pin connector and I don't want to make an adapter).
In the interface, I get SCL on Channel 5, SDA on Channel 6 and zero on channel 7. I've also tried to export the capture and it's labeled the same way. Please notice that it's not a real issue since I can identify the signals from their shape, but it's disappointing.
I've tried to plug the connector on GPIO (18, GND, 17, 16) and in that case, I capture SCL on Channel 17, but I'm not successful in capturing SDA on either channel 16 or 18 (both are zero).
Do you have a simple step by step for installation on the Apple ARM based computers?
Is there sample data available to practice with while waiting for hardware?
The releases only list osx-x86
but theses days osx-arm
is really needed as well.
Would be nice to also have that option.
Hi!
The serial port hangs if ClCapture is killed by Ctrl-C while the logic analyzer is sampling. ClCapture aborts, but ClCapture (and LogicAnalyzer) can not open the port unless the Pico is powered off and on. Same behaviour in version 3-5 as well.
This is on Ubuntu 22.04.
Using "Abort" in LogicAnalyzer works without issues, but gives the following message in the console:
The port is closed. - at System.IO.Ports.SerialStream.Read(Byte[] array, Int32 offset, Int32 count, Int32 timeout)
at System.IO.Ports.SerialStream.Read(Byte[] array, Int32 offset, Int32 count)
at System.IO.Stream.Read(Span`1 buffer)
at System.IO.BinaryReader.InternalRead(Int32 numBytes)
at System.IO.BinaryReader.ReadUInt32()
at SharedDriver.LogicAnalyzerDriver.ReadCapture(Int32 Samples, Byte Mode) in C:\Users\geniw\source\repos\LogicAnalyzer\SharedDriver\LogicAnalyzerDriver.cs:line 314
Thanks for a new version!
Regards
Hi,Can i use the TXB0104 for instead TXU0104PWR .becasue TXB0104is cheaper than that one.
dotnet --version
7.0.107
Error message:
Unhandled exception. System.InvalidOperationException: Default font family name can't be null or empty.
at Avalonia.Media.FontManager..ctor(IFontManagerImpl platformImpl) in /_/src/Avalonia.Visuals/Media/FontManager.cs:line 33
at Avalonia.Media.FontManager.get_Current() in /_/src/Avalonia.Visuals/Media/FontManager.cs:line 53
at Avalonia.Media.Typeface.get_GlyphTypeface() in /_/src/Avalonia.Visuals/Media/Typeface.cs:line 69
at Avalonia.Media.TextFormatting.TextCharacters.TryGetRunProperties(ReadOnlySlice`1 text, Typeface typeface, Typeface defaultTypeface, Int32& count) in /_/src/Avalonia.Visuals/Media/TextFormatting/TextCharacters.cs:line 132
at Avalonia.Media.TextFormatting.TextCharacters.CreateShapeableRun(ReadOnlySlice`1 text, TextRunProperties defaultProperties) in /_/src/Avalonia.Visuals/Media/TextFormatting/TextCharacters.cs:line 62
at Avalonia.Media.TextFormatting.TextCharacters.GetShapeableCharacters() in /_/src/Avalonia.Visuals/Media/TextFormatting/TextCharacters.cs:line 40
at Avalonia.Media.TextFormatting.TextFormatterImpl.FetchTextRuns(ITextSource textSource, Int32 firstTextSourceIndex, TextLineBreak previousLineBreak, TextLineBreak& nextLineBreak) in /_/src/Avalonia.Visuals/Media/TextFormatting/TextFormatterImpl.cs:line 286
at Avalonia.Media.TextFormatting.TextFormatterImpl.FormatLine(ITextSource textSource, Int32 firstTextSourceIndex, Double paragraphWidth, TextParagraphProperties paragraphProperties, TextLineBreak previousLineBreak) in /_/src/Avalonia.Visuals/Media/TextFormatting/TextFormatterImpl.cs:line 15
at Avalonia.Media.TextFormatting.TextLayout.UpdateLayout() in /_/src/Avalonia.Visuals/Media/TextFormatting/TextLayout.cs:line 225
at Avalonia.Media.TextFormatting.TextLayout..ctor(String text, Typeface typeface, Double fontSize, IBrush foreground, TextAlignment textAlignment, TextWrapping textWrapping, TextTrimming textTrimming, TextDecorationCollection textDecorations, Double maxWidth, Double maxHeight, Double lineHeight, Int32 maxLines, IReadOnlyList`1 textStyleOverrides) in /_/src/Avalonia.Visuals/Media/TextFormatting/TextLayout.cs:line 71
at Avalonia.Controls.TextBlock.CreateTextLayout(Size constraint, String text) in /_/src/Avalonia.Controls/TextBlock.cs:line 475
at Avalonia.Controls.Primitives.AccessText.CreateTextLayout(Size constraint, String text) in /_/src/Avalonia.Controls/Primitives/AccessText.cs:line 156
at Avalonia.Controls.TextBlock.get_TextLayout() in /_/src/Avalonia.Controls/TextBlock.cs:line 166
at Avalonia.Controls.TextBlock.MeasureOverride(Size availableSize) in /_/src/Avalonia.Controls/TextBlock.cs:line 521
at Avalonia.Layout.Layoutable.MeasureCore(Size availableSize) in /_/src/Avalonia.Layout/Layoutable.cs:line 559
at Avalonia.Layout.Layoutable.Measure(Size availableSize) in /_/src/Avalonia.Layout/Layoutable.cs:line 364
at Avalonia.Layout.LayoutHelper.MeasureChild(ILayoutable control, Size availableSize, Thickness padding) in /_/src/Avalonia.Layout/LayoutHelper.cs:line 46
at Avalonia.Layout.LayoutHelper.MeasureChild(ILayoutable control, Size availableSize, Thickness padding, Thickness borderThickness) in /_/src/Avalonia.Layout/LayoutHelper.cs:line 39
at Avalonia.Controls.Presenters.ContentPresenter.MeasureOverride(Size availableSize) in /_/src/Avalonia.Controls/Presenters/ContentPresenter.cs:line 366
at Avalonia.Layout.Layoutable.MeasureCore(Size availableSize) in /_/src/Avalonia.Layout/Layoutable.cs:line 559
at Avalonia.Layout.Layoutable.Measure(Size availableSize) in /_/src/Avalonia.Layout/Layoutable.cs:line 364
at Avalonia.Layout.Layoutable.MeasureOverride(Size availableSize) in /_/src/Avalonia.Layout/Layoutable.cs:line 625
at Avalonia.Layout.Layoutable.MeasureCore(Size availableSize) in /_/src/Avalonia.Layout/Layoutable.cs:line 559
at Avalonia.Layout.Layoutable.Measure(Size availableSize) in /_/src/Avalonia.Layout/Layoutable.cs:line 364
at Avalonia.Layout.LayoutHelper.MeasureChild(ILayoutable control, Size availableSize, Thickness padding) in /_/src/Avalonia.Layout/LayoutHelper.cs:line 46
at Avalonia.Layout.LayoutHelper.MeasureChild(ILayoutable control, Size availableSize, Thickness padding, Thickness borderThickness) in /_/src/Avalonia.Layout/LayoutHelper.cs:line 39
at Avalonia.Controls.Border.MeasureOverride(Size availableSize) in /_/src/Avalonia.Controls/Border.cs:line 187
at Avalonia.Layout.Layoutable.MeasureCore(Size availableSize) in /_/src/Avalonia.Layout/Layoutable.cs:line 559
at Avalonia.Layout.Layoutable.Measure(Size availableSize) in /_/src/Avalonia.Layout/Layoutable.cs:line 364
at Avalonia.Layout.Layoutable.MeasureOverride(Size availableSize) in /_/src/Avalonia.Layout/Layoutable.cs:line 625
at Avalonia.Layout.Layoutable.MeasureCore(Size availableSize) in /_/src/Avalonia.Layout/Layoutable.cs:line 559
at Avalonia.Layout.Layoutable.Measure(Size availableSize) in /_/src/Avalonia.Layout/Layoutable.cs:line 364
at Avalonia.Controls.StackPanel.MeasureOverride(Size availableSize) in /_/src/Avalonia.Controls/StackPanel.cs:line 207
at Avalonia.Layout.Layoutable.MeasureCore(Size availableSize) in /_/src/Avalonia.Layout/Layoutable.cs:line 559
at Avalonia.Layout.Layoutable.Measure(Size availableSize) in /_/src/Avalonia.Layout/Layoutable.cs:line 364
at Avalonia.Controls.Presenters.ItemVirtualizer.MeasureOverride(Size availableSize) in /_/src/Avalonia.Controls/Presenters/ItemVirtualizer.cs:line 221
at Avalonia.Controls.Presenters.ItemsPresenter.MeasureOverride(Size availableSize) in /_/src/Avalonia.Controls/Presenters/ItemsPresenter.cs:line 139
at Avalonia.Layout.Layoutable.MeasureCore(Size availableSize) in /_/src/Avalonia.Layout/Layoutable.cs:line 559
at Avalonia.Layout.Layoutable.Measure(Size availableSize) in /_/src/Avalonia.Layout/Layoutable.cs:line 364
at Avalonia.Layout.LayoutHelper.MeasureChild(ILayoutable control, Size availableSize, Thickness padding) in /_/src/Avalonia.Layout/LayoutHelper.cs:line 46
at Avalonia.Layout.LayoutHelper.MeasureChild(ILayoutable control, Size availableSize, Thickness padding, Thickness borderThickness) in /_/src/Avalonia.Layout/LayoutHelper.cs:line 39
at Avalonia.Controls.Border.MeasureOverride(Size availableSize) in /_/src/Avalonia.Controls/Border.cs:line 187
at Avalonia.Layout.Layoutable.MeasureCore(Size availableSize) in /_/src/Avalonia.Layout/Layoutable.cs:line 559
at Avalonia.Layout.Layoutable.Measure(Size availableSize) in /_/src/Avalonia.Layout/Layoutable.cs:line 364
at Avalonia.Layout.Layoutable.MeasureOverride(Size availableSize) in /_/src/Avalonia.Layout/Layoutable.cs:line 625
at Avalonia.Layout.Layoutable.MeasureCore(Size availableSize) in /_/src/Avalonia.Layout/Layoutable.cs:line 559
at Avalonia.Layout.Layoutable.Measure(Size availableSize) in /_/src/Avalonia.Layout/Layoutable.cs:line 364
at Avalonia.Controls.DockPanel.MeasureOverride(Size constraint) in /_/src/Avalonia.Controls/DockPanel.cs:line 112
at Avalonia.Layout.Layoutable.MeasureCore(Size availableSize) in /_/src/Avalonia.Layout/Layoutable.cs:line 559
at Avalonia.Layout.Layoutable.Measure(Size availableSize) in /_/src/Avalonia.Layout/Layoutable.cs:line 364
at Avalonia.Layout.LayoutHelper.MeasureChild(ILayoutable control, Size availableSize, Thickness padding) in /_/src/Avalonia.Layout/LayoutHelper.cs:line 46
at Avalonia.Layout.LayoutHelper.MeasureChild(ILayoutable control, Size availableSize, Thickness padding, Thickness borderThickness) in /_/src/Avalonia.Layout/LayoutHelper.cs:line 39
at Avalonia.Controls.Presenters.ContentPresenter.MeasureOverride(Size availableSize) in /_/src/Avalonia.Controls/Presenters/ContentPresenter.cs:line 366
at Avalonia.Layout.Layoutable.MeasureCore(Size availableSize) in /_/src/Avalonia.Layout/Layoutable.cs:line 559
at Avalonia.Layout.Layoutable.Measure(Size availableSize) in /_/src/Avalonia.Layout/Layoutable.cs:line 364
at Avalonia.Layout.LayoutHelper.MeasureChild(ILayoutable control, Size availableSize, Thickness padding) in /_/src/Avalonia.Layout/LayoutHelper.cs:line 46
at Avalonia.Controls.Decorator.MeasureOverride(Size availableSize) in /_/src/Avalonia.Controls/Decorator.cs:line 54
at Avalonia.Controls.Primitives.VisualLayerManager.MeasureOverride(Size availableSize) in /_/src/Avalonia.Controls/Primitives/VisualLayerManager.cs:line 133
at Avalonia.Layout.Layoutable.MeasureCore(Size availableSize) in /_/src/Avalonia.Layout/Layoutable.cs:line 559
at Avalonia.Layout.Layoutable.Measure(Size availableSize) in /_/src/Avalonia.Layout/Layoutable.cs:line 364
at Avalonia.Layout.Layoutable.MeasureOverride(Size availableSize) in /_/src/Avalonia.Layout/Layoutable.cs:line 625
at Avalonia.Layout.Layoutable.MeasureCore(Size availableSize) in /_/src/Avalonia.Layout/Layoutable.cs:line 559
at Avalonia.Layout.Layoutable.Measure(Size availableSize) in /_/src/Avalonia.Layout/Layoutable.cs:line 364
at Avalonia.Layout.Layoutable.MeasureOverride(Size availableSize) in /_/src/Avalonia.Layout/Layoutable.cs:line 625
at Avalonia.Controls.Window.MeasureOverride(Size availableSize) in /_/src/Avalonia.Controls/Window.cs:line 916
at Avalonia.Controls.WindowBase.MeasureCore(Size availableSize) in /_/src/Avalonia.Controls/WindowBase.cs:line 247
at Avalonia.Layout.Layoutable.Measure(Size availableSize) in /_/src/Avalonia.Layout/Layoutable.cs:line 364
at Avalonia.Layout.LayoutManager.Measure(ILayoutable control) in /_/src/Avalonia.Layout/LayoutManager.cs:line 297
at Avalonia.Layout.LayoutManager.ExecuteInitialLayoutPass() in /_/src/Avalonia.Layout/LayoutManager.cs:line 184
at Avalonia.Controls.Window.ShowCore(Window parent) in /_/src/Avalonia.Controls/Window.cs:line 693
at Avalonia.Controls.Window.Show() in /_/src/Avalonia.Controls/Window.cs:line 631
at LogicAnalyzer.App.OnFrameworkInitializationCompleted() in C:\Users\geniw\source\repos\LogicAnalyzer\LogicAnalyzer\App.axaml.cs:line 27
at System.Threading.Tasks.Task.<>c.<ThrowAsync>b__128_0(Object state)
at Avalonia.Threading.AvaloniaSynchronizationContext.<>c__DisplayClass5_0.<Post>b__0() in /_/src/Avalonia.Base/Threading/AvaloniaSynchronizationContext.cs:line 33
at Avalonia.Threading.JobRunner.Job.Avalonia.Threading.JobRunner.IJob.Run() in /_/src/Avalonia.Base/Threading/JobRunner.cs:line 181
at Avalonia.Threading.JobRunner.RunJobs(Nullable`1 priority) in /_/src/Avalonia.Base/Threading/JobRunner.cs:line 37
at Avalonia.X11.X11PlatformThreading.CheckSignaled() in /_/src/Avalonia.X11/X11PlatformThreading.cs:line 164
at Avalonia.X11.X11PlatformThreading.RunLoop(CancellationToken cancellationToken) in /_/src/Avalonia.X11/X11PlatformThreading.cs:line 244
at Avalonia.Threading.Dispatcher.MainLoop(CancellationToken cancellationToken) in /_/src/Avalonia.Base/Threading/Dispatcher.cs:line 65
at Avalonia.Controls.ApplicationLifetimes.ClassicDesktopStyleApplicationLifetime.Start(String[] args) in /_/src/Avalonia.Controls/ApplicationLifetimes/ClassicDesktopStyleApplicationLifetime.cs:line 120
at Avalonia.ClassicDesktopStyleApplicationLifetimeExtensions.StartWithClassicDesktopLifetime[T](T builder, String[] args, ShutdownMode shutdownMode) in /_/src/Avalonia.Controls/ApplicationLifetimes/ClassicDesktopStyleApplicationLifetime.cs:line 209
at LogicAnalyzer.Program.Main(String[] args) in C:\Users\geniw\source\repos\LogicAnalyzer\LogicAnalyzer\Program.cs:line 14
zsh: IOT instruction (core dumped) ./LogicAnalyzer
LogicAnalyzer software crashing on Win10.
Latest win64 version 2.1.0.0.
Steps to replicate:
Tried to open it from a command line to see some errors, but nothing is reported.
How can I debug it and see some errors please?
Not 100% sure if it's an app or my permissions in Windows or a space in a program path ("C:\Program Files\LogicAnalyzer").
Can someone please confirm if they have the same problem? If not I'll look elsewhere (Windows)
My maximum screen height is 768. The window height, defaults to 800 and can not be adjusted. Altering the "Height" in AppConfig.json:
"WindowSettings": {
"LogicAnalyzer.MainWindow": {
"Width": 1024.0,
"Height": 800.0,
has no effect, when the program is closed the height is reset to 800. Is there somewhere where I can tweak this?
In the software, the indicated firmware version of the RPI is not the correct one.
I updated version 1.1.0.0 but the version indicated is: "Current device: LOGIC_ANALYSER_V1_0"
It'll be very useful to use ADC to measure reference voltage of the level shifter
and use PWM or external DAC to setup reference voltage directly from the SW.
Or 2bits resistive DAC also do the job.
Hi
Thanks for this wonderful software. I've gone through the steps in previous discussions to run the Logic analyser s/w for osx-64, and have got it running on a Macbook with M2 silicon. There doesn't seem to be an option to run it without a trigger and I havn't got anything connected to the pico yet. Anyway, I can discover the pico and ask to collect some samples at 4Msps. However, after waiting for some seconds , it crashes saying Logic Analyser quit unexpectedly with the following first few lines of the dump. (there's many more!). Any thoughts?
Tony
Anonymous UUID: 89536F21-3E73-9092-67DE-18D78A68982B
Sleep/Wake UUID: BA24C633-4ED1-4FB3-A18A-A1EBCB8B9EAF
Time Awake Since Boot: 530000 seconds
Time Since Wake: 3088 seconds
System Integrity Protection: enabled
Crashed Thread: 0 Dispatch queue: com.apple.main-thread
Exception Type: EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Application Specific Information:
abort() called
Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0 libsystem_kernel.dylib 0x197234724 __pthread_kill + 8
1 libsystem_pthread.dylib 0x19726bc28 pthread_kill + 288
2 libsystem_c.dylib 0x197179ae8 abort + 180
3 libcoreclr.dylib 0x1049bdb34 PROCAbort + 60
4 libcoreclr.dylib 0x1049bda44 PROCEndProcess(void*, unsigned int, int) + 396
5 libcoreclr.dylib 0x104be921c UnwindManagedExceptionPass1(PAL_SEHException&, _CONTEXT*) + 968
6 libcoreclr.dylib 0x104be9264 DispatchManagedException(PAL_SEHException&, bool) + 68
7 libcoreclr.dylib 0x104b4ab5c IL_Throw(Object*) + 528
8 ??? 0x2830265c4 ???
9 ??? 0x282970098 ???
10 ??? 0x28296fa74 ???
11 ??? 0x282874064 ???
12 ??? 0x280db677c ???
13 ??? 0x280d85e3c ???
14 libcoreclr.dylib 0x104c72408 CallDescrWorkerInternal + 132
15 libcoreclr.dylib 0x104ae3a98 MethodDescCallSite::CallTargetWorker(unsigned long const*, unsigned long*, int) + 852
16 libcoreclr.dylib 0x104ae3a98 MethodDescCallSite::CallTargetWorker(unsigned long const*, unsigned long*, int) + 852
17 libcoreclr.dylib 0x104ae3a98 MethodDescCallSite::CallTargetWorker(unsigned long const*, unsigned long*, int) + 852
18 libcoreclr.dylib 0x104ae3a98 MethodDescCallSite::CallTargetWorker(unsigned long const*, unsigned long*, int) + 852
19 libcoreclr.dylib 0x104ae3a98 MethodDescCallSite::CallTargetWorker(unsigned long const*, unsigned long*, int) + 852
20 libcoreclr.dylib 0x104ae3a98 MethodDescCallSite::CallTargetWorker(unsigned long const*, unsigned long*, int) + 852
21 libcoreclr.dylib 0x104ae3a98 MethodDescCallSite::CallTargetWorker(unsigned long const*, unsigned long*, int) + 852
Currently the logic analyzer window is transparent which I personally find distracting and to sometimes result in a bad contrast depending on the order of the windows behind it . It can also be noticably resource intensive.
For this reason I'd much appreciate if it was possible to set the window to be made of solid colors.
I can find no info about what tool chains are required for both target and host code.
For the target I assume it is the Raspberry PI official CPP SDK.
But unsure what is needed for the Windows app.
An extra section in the readme file, or a separate text document with details would be helpful.
Also what toolchain versions.
I have packaged logicanalyzer in AUR repository .
Now the compiled file is too fragmented, I tried to compile it into a single file and now the compilation reports an error.
PKGBUILD
# Maintainer: taotieren <[email protected]>
pkgname=logicanalyzer-git
pkgver=5.0.0.0.r1.g5f95102
pkgrel=2
epoch=
pkgdesc="24 channel, 100Msps logic analyzer hardware and software "
arch=("x86_64" "aarch64")
url="https://github.com/gusmanb/logicanalyzer"
license=('GLP-3.0')
provides=(${pkgname%-git} clcapture)
conflicts=(${pkgname%-git} clcapture)
replaces=()
depends=(dotnet-runtime
ttf-dejavu)
makedepends=(git
dotnet-sdk)
backup=()
options=('!strip')
install=
source=("${pkgname-git}::git+${url}.git")
sha256sums=('SKIP')
noextract=()
pkgver(){
cd "${srcdir}/${pkgname-git}"
git describe --long --tags | sed 's/^V//g;s/\([^-]*-g\)/r\1/;s/-/./g'
}
build() {
cd "${srcdir}/${pkgname-git}/Software/LogicAnalyzer"
if [ "$CARCH" == "aarch64" ]; then
msg2 "build for arm64"
dotnet publish -r linux-arm64 -c Release -p:PublishSingleFile=true -p:PublishTrimmed=true --self-contained true -o artifact
# dotnet publish -r linux-arm64 -c Release -o artifact
else
msg2 "build for x64"
dotnet publish -r linux-x64 -c Release -p:PublishSingleFile=true -p:PublishTrimmed=true --self-contained true -o artifact
# dotnet publish -r linux-x64 -c Release -o artifact
fi
}
package() {
cd "${srcdir}/${pkgname-git}/Software/LogicAnalyzer/artifact/"
install -Dm0755 CLCapture "${pkgdir}/usr/bin/clcapture"
# install -Dm0644 CLCapture.dll "${pkgdir}/usr/share/${pkgname%-git}/CLCapture.dll"
install -Dm0755 LogicAnalyzer "${pkgdir}/usr/bin/logicanalyzer"
# install -Dm0644 LogicAnalyzer.dll "${pkgdir}/usr/share/${pkgname%-git}/LogicAnalyzer.dll"
# install -Dm0644 LogicAnalyzer.runtimeconfig.json "${pkgdir}/usr/share/${pkgname%-git}/LogicAnalyzer.runtimeconfig.json"
# install -dm0755 "${pkgdir}/usr/bin" \
# install -dm0755 ${pkgdir}/usr/share/${pkgname%-git}
#
# install -Dm0755 /dev/stdin "${pkgdir}/usr/bin/clcapture" <<EOF
# export COREHOST_TRACE=1
#
# cd /usr/share/logicanalyzer/
# LC_ALL=C ./CLCapture
# EOF
#
# install -Dm0755 /dev/stdin "${pkgdir}/usr/bin/${pkgname%-git}" <<EOF
# export COREHOST_TRACE=1
#
# cd /usr/share/logicanalyzer/
# LC_ALL=C ./LogicAnalyzer
# EOF
# ln -sf /usr/share/${pkgname%-git}/LogicAnalyzer "${pkgdir}/usr/bin/${pkgname%-git}"
# cp -rv * ${pkgdir}/usr/share/${pkgname%-git}
install -Dm644 "$srcdir/logicanalyzer-git/Software/LogicAnalyzer/LogicAnalyzer/Assets/Logo40.png" "$pkgdir/usr/share/icons/hicolor/256x256/apps/${pkgname%-git}.png"
install -Dm644 "$srcdir/logicanalyzer-git/Software/LogicAnalyzer/LogicAnalyzer/Assets/window.ico" "$pkgdir/usr/share/pixmaps/clcapture.ico"
install -Dm0644 /dev/stdin "${pkgdir}/usr/share/applications/${pkgname%-git}.desktop" << EOF
[Desktop Entry]
Name=${pkgname%-git}
Name[zh_CN]=${pkgname%-git}
Comment=${pkgdesc}
#MimeType=application/x-${pkgname%-git};
Exec=${pkgname%-git}
Type=Application
Categories=Development;Tool;
Terminal=false
Icon=${pkgname%-git}
Version=1
EOF
install -Dm0644 /dev/stdin "${pkgdir}/usr/share/applications/clcapture.desktop" << EOF
[Desktop Entry]
Name=clcapture
Name[zh_CN]=clcapture
Comment=Logic Analyzer Capture
#MimeType=application/x-clcapture;
Exec=clcapture
Type=Application
Categories=Development;Tool;
Terminal=false
Icon=clcapture.ico
Version=1
EOF
}
build log
........
LogicAnalyzer -> /home/taotieren/git_clone/aur/logicanalyzer-git/src/logicanalyzer-git/Software/LogicAnalyzer/artifact/
GenerateAvaloniaResourcesTask -> Root: /home/taotieren/git_clone/aur/logicanalyzer-git/src/logicanalyzer-git/Software/LogicAnalyzer/SerialProtocolAnalyzer, 0 resources, Output:obj/Release/net7.0/linux-x64//Avalonia/resources
GenerateAvaloniaResourcesTask -> Root: /home/taotieren/git_clone/aur/logicanalyzer-git/src/logicanalyzer-git/Software/LogicAnalyzer/SPIProtocolAnalyzer, 0 resources, Output:obj/Release/net7.0/linux-x64//Avalonia/resources
GenerateAvaloniaResourcesTask -> Root: /home/taotieren/git_clone/aur/logicanalyzer-git/src/logicanalyzer-git/Software/LogicAnalyzer/I2CProtocolAnalyzer, 0 resources, Output:obj/Release/net7.0/linux-x64//Avalonia/resources
/home/taotieren/git_clone/aur/logicanalyzer-git/src/logicanalyzer-git/Software/LogicAnalyzer/SerialProtocolAnalyzer/SerialAnalyzer.cs(77,60): warning CS8605: Unboxing a possibly null value. [/home/taotieren/git_clone/aur/logicanalyzer-git/src/logicanalyzer-git/Software/LogicAnalyzer/SerialProtocolAnalyzer/SerialProtocolAnalyzer.csproj]
/home/taotieren/git_clone/aur/logicanalyzer-git/src/logicanalyzer-git/Software/LogicAnalyzer/SerialProtocolAnalyzer/SerialAnalyzer.cs(82,24): warning CS8602: Dereference of a possibly null reference. [/home/taotieren/git_clone/aur/logicanalyzer-git/src/logicanalyzer-git/Software/LogicAnalyzer/SerialProtocolAnalyzer/SerialProtocolAnalyzer.csproj]
/home/taotieren/git_clone/aur/logicanalyzer-git/src/logicanalyzer-git/Software/LogicAnalyzer/SerialProtocolAnalyzer/SerialAnalyzer.cs(82,64): warning CS8602: Dereference of a possibly null reference. [/home/taotieren/git_clone/aur/logicanalyzer-git/src/logicanalyzer-git/Software/LogicAnalyzer/SerialProtocolAnalyzer/SerialProtocolAnalyzer.csproj]
/home/taotieren/git_clone/aur/logicanalyzer-git/src/logicanalyzer-git/Software/LogicAnalyzer/SerialProtocolAnalyzer/SerialAnalyzer.cs(84,38): warning CS8602: Dereference of a possibly null reference. [/home/taotieren/git_clone/aur/logicanalyzer-git/src/logicanalyzer-git/Software/LogicAnalyzer/SerialProtocolAnalyzer/SerialProtocolAnalyzer.csproj]
/home/taotieren/git_clone/aur/logicanalyzer-git/src/logicanalyzer-git/Software/LogicAnalyzer/SerialProtocolAnalyzer/SerialAnalyzer.cs(84,38): warning CS8604: Possible null reference argument for parameter 's' in 'int int.Parse(string s)'. [/home/taotieren/git_clone/aur/logicanalyzer-git/src/logicanalyzer-git/Software/LogicAnalyzer/SerialProtocolAnalyzer/SerialProtocolAnalyzer.csproj]
/home/taotieren/git_clone/aur/logicanalyzer-git/src/logicanalyzer-git/Software/LogicAnalyzer/SerialProtocolAnalyzer/SerialAnalyzer.cs(85,29): warning CS8602: Dereference of a possibly null reference. [/home/taotieren/git_clone/aur/logicanalyzer-git/src/logicanalyzer-git/Software/LogicAnalyzer/SerialProtocolAnalyzer/SerialProtocolAnalyzer.csproj]
/home/taotieren/git_clone/aur/logicanalyzer-git/src/logicanalyzer-git/Software/LogicAnalyzer/SerialProtocolAnalyzer/SerialAnalyzer.cs(85,29): warning CS8600: Converting null literal or possible null value to non-nullable type. [/home/taotieren/git_clone/aur/logicanalyzer-git/src/logicanalyzer-git/Software/LogicAnalyzer/SerialProtocolAnalyzer/SerialProtocolAnalyzer.csproj]
/home/taotieren/git_clone/aur/logicanalyzer-git/src/logicanalyzer-git/Software/LogicAnalyzer/SerialProtocolAnalyzer/SerialAnalyzer.cs(86,44): warning CS8602: Dereference of a possibly null reference. [/home/taotieren/git_clone/aur/logicanalyzer-git/src/logicanalyzer-git/Software/LogicAnalyzer/SerialProtocolAnalyzer/SerialProtocolAnalyzer.csproj]
/home/taotieren/git_clone/aur/logicanalyzer-git/src/logicanalyzer-git/Software/LogicAnalyzer/SerialProtocolAnalyzer/SerialAnalyzer.cs(86,44): warning CS8604: Possible null reference argument for parameter 's' in 'double double.Parse(string s)'. [/home/taotieren/git_clone/aur/logicanalyzer-git/src/logicanalyzer-git/Software/LogicAnalyzer/SerialProtocolAnalyzer/SerialProtocolAnalyzer.csproj]
/home/taotieren/git_clone/aur/logicanalyzer-git/src/logicanalyzer-git/Software/LogicAnalyzer/SPIProtocolAnalyzer/SPIAnalyzer.cs(84,33): warning CS8602: Dereference of a possibly null reference. [/home/taotieren/git_clone/aur/logicanalyzer-git/src/logicanalyzer-git/Software/LogicAnalyzer/SPIProtocolAnalyzer/SPIProtocolAnalyzer.csproj]
/home/taotieren/git_clone/aur/logicanalyzer-git/src/logicanalyzer-git/Software/LogicAnalyzer/SPIProtocolAnalyzer/SPIAnalyzer.cs(84,33): warning CS8600: Converting null literal or possible null value to non-nullable type. [/home/taotieren/git_clone/aur/logicanalyzer-git/src/logicanalyzer-git/Software/LogicAnalyzer/SPIProtocolAnalyzer/SPIProtocolAnalyzer.csproj]
/home/taotieren/git_clone/aur/logicanalyzer-git/src/logicanalyzer-git/Software/LogicAnalyzer/SPIProtocolAnalyzer/SPIAnalyzer.cs(85,34): warning CS8602: Dereference of a possibly null reference. [/home/taotieren/git_clone/aur/logicanalyzer-git/src/logicanalyzer-git/Software/LogicAnalyzer/SPIProtocolAnalyzer/SPIProtocolAnalyzer.csproj]
/home/taotieren/git_clone/aur/logicanalyzer-git/src/logicanalyzer-git/Software/LogicAnalyzer/SPIProtocolAnalyzer/SPIAnalyzer.cs(85,34): warning CS8604: Possible null reference argument for parameter 's' in 'int int.Parse(string s)'. [/home/taotieren/git_clone/aur/logicanalyzer-git/src/logicanalyzer-git/Software/LogicAnalyzer/SPIProtocolAnalyzer/SPIProtocolAnalyzer.csproj]
/home/taotieren/git_clone/aur/logicanalyzer-git/src/logicanalyzer-git/Software/LogicAnalyzer/SPIProtocolAnalyzer/SPIAnalyzer.cs(86,34): warning CS8602: Dereference of a possibly null reference. [/home/taotieren/git_clone/aur/logicanalyzer-git/src/logicanalyzer-git/Software/LogicAnalyzer/SPIProtocolAnalyzer/SPIProtocolAnalyzer.csproj]
/home/taotieren/git_clone/aur/logicanalyzer-git/src/logicanalyzer-git/Software/LogicAnalyzer/SPIProtocolAnalyzer/SPIAnalyzer.cs(86,34): warning CS8604: Possible null reference argument for parameter 's' in 'int int.Parse(string s)'. [/home/taotieren/git_clone/aur/logicanalyzer-git/src/logicanalyzer-git/Software/LogicAnalyzer/SPIProtocolAnalyzer/SPIProtocolAnalyzer.csproj]
/home/taotieren/git_clone/aur/logicanalyzer-git/src/logicanalyzer-git/Software/LogicAnalyzer/SPIProtocolAnalyzer/SPIAnalyzer.cs(93,54): warning CS8602: Dereference of a possibly null reference. [/home/taotieren/git_clone/aur/logicanalyzer-git/src/logicanalyzer-git/Software/LogicAnalyzer/SPIProtocolAnalyzer/SPIProtocolAnalyzer.csproj]
/home/taotieren/git_clone/aur/logicanalyzer-git/src/logicanalyzer-git/Software/LogicAnalyzer/SPIProtocolAnalyzer/SPIAnalyzer.cs(211,31): warning CS8602: Dereference of a possibly null reference. [/home/taotieren/git_clone/aur/logicanalyzer-git/src/logicanalyzer-git/Software/LogicAnalyzer/SPIProtocolAnalyzer/SPIProtocolAnalyzer.csproj]
/home/taotieren/git_clone/aur/logicanalyzer-git/src/logicanalyzer-git/Software/LogicAnalyzer/SPIProtocolAnalyzer/SPIAnalyzer.cs(352,70): warning CS8604: Possible null reference argument for parameter 'source' in 'bool Enumerable.Contains<string?>(IEnumerable<string?> source, string? value)'. [/home/taotieren/git_clone/aur/logicanalyzer-git/src/logicanalyzer-git/Software/LogicAnalyzer/SPIProtocolAnalyzer/SPIProtocolAnalyzer.csproj]
/home/taotieren/git_clone/aur/logicanalyzer-git/src/logicanalyzer-git/Software/LogicAnalyzer/SPIProtocolAnalyzer/SPIAnalyzer.cs(357,68): warning CS8604: Possible null reference argument for parameter 'source' in 'bool Enumerable.Contains<string?>(IEnumerable<string?> source, string? value)'. [/home/taotieren/git_clone/aur/logicanalyzer-git/src/logicanalyzer-git/Software/LogicAnalyzer/SPIProtocolAnalyzer/SPIProtocolAnalyzer.csproj]
/home/taotieren/git_clone/aur/logicanalyzer-git/src/logicanalyzer-git/Software/LogicAnalyzer/SPIProtocolAnalyzer/SPIAnalyzer.cs(362,68): warning CS8604: Possible null reference argument for parameter 'source' in 'bool Enumerable.Contains<string?>(IEnumerable<string?> source, string? value)'. [/home/taotieren/git_clone/aur/logicanalyzer-git/src/logicanalyzer-git/Software/LogicAnalyzer/SPIProtocolAnalyzer/SPIProtocolAnalyzer.csproj]
I2CProtocolAnalyzer -> /home/taotieren/git_clone/aur/logicanalyzer-git/src/logicanalyzer-git/Software/LogicAnalyzer/I2CProtocolAnalyzer/bin/Release/net7.0/linux-x64/I2CProtocolAnalyzer.dll
/usr/share/dotnet/sdk/7.0.110/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Publish.targets(94,5): error NETSDK1099: Publishing to a single-file is only supported for executable applications. [/home/taotieren/git_clone/aur/logicanalyzer-git/src/logicanalyzer-git/Software/LogicAnalyzer/I2CProtocolAnalyzer/I2CProtocolAnalyzer.csproj]
SerialProtocolAnalyzer -> /home/taotieren/git_clone/aur/logicanalyzer-git/src/logicanalyzer-git/Software/LogicAnalyzer/SerialProtocolAnalyzer/bin/Release/net7.0/linux-x64/SerialProtocolAnalyzer.dll
/usr/share/dotnet/sdk/7.0.110/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Publish.targets(94,5): error NETSDK1099: Publishing to a single-file is only supported for executable applications. [/home/taotieren/git_clone/aur/logicanalyzer-git/src/logicanalyzer-git/Software/LogicAnalyzer/SerialProtocolAnalyzer/SerialProtocolAnalyzer.csproj]
SPIProtocolAnalyzer -> /home/taotieren/git_clone/aur/logicanalyzer-git/src/logicanalyzer-git/Software/LogicAnalyzer/SPIProtocolAnalyzer/bin/Release/net7.0/linux-x64/SPIProtocolAnalyzer.dll
/usr/share/dotnet/sdk/7.0.110/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Publish.targets(94,5): error NETSDK1099: Publishing to a single-file is only supported for executable applications. [/home/taotieren/git_clone/aur/logicanalyzer-git/src/logicanalyzer-git/Software/LogicAnalyzer/SPIProtocolAnalyzer/SPIProtocolAnalyzer.csproj]
==> ERROR: A failure occurred in build().
Aborting...
exa -Tla src/logicanalyzer-git/Software/LogicAnalyzer/artifact/
drwxr-xr-x - taotieren 30 Aug 10:10 src/logicanalyzer-git/Software/LogicAnalyzer/artifact
.rwxr-xr-x 14M taotieren 30 Aug 10:10 ├── CLCapture
.rw-r--r-- 13k taotieren 30 Aug 10:10 ├── CLCapture.pdb
.rwxr--r-- 1.6M taotieren 12 Aug 2022 ├── libHarfBuzzSharp.so
.rwxr--r-- 683k taotieren 18 Feb 2022 ├── libonigwrap.so
.rwxr--r-- 9.2M taotieren 12 Aug 2022 ├── libSkiaSharp.so
.rwxr--r-- 18k taotieren 23 Oct 2021 ├── libSystem.IO.Ports.Native.so
.rwxr-xr-x 51M taotieren 30 Aug 10:10 ├── LogicAnalyzer
.rw-r--r-- 73k taotieren 30 Aug 10:10 ├── LogicAnalyzer.pdb
.rw-r--r-- 17k taotieren 30 Aug 10:10 ├── SharedDriver.pdb
.rw-r--r-- 16k taotieren 30 Aug 10:10 └── SignalDescriptionLanguage.pdb
Sorry, first of all, please forgive me for asking some novice questions.
What bottleneck limits the sample depth? Is it CPU computing power, memory size, or something else?
Hello,
My device is RPi-PICO which was bought in 2020. I burned the firmware with the version of 5.0.0(Firmware-LogicAnalyzer-5.0.0.0-PICO.uf2). But when i click the program in windows with the device connected to my pc and a terminal flashed and exited. I tried to exec it in terminal and it showed ERROR(S): No verb selected.
And the device in Device Manager shows RESET,which needs related drivers.
What can i do to solve it?
Thank you very much!
Hi,
thanks for providing this repo. I am currently trying to install it on my Linux system and stumbled over one problem:
the main executables in the zipped releases are missing the executable-bit.
Doing a chmod +x linux-64/LogicAnalyzer
solves the problem (same for the cli-interface). After that, it starts :-)
Bernhard
In the logic analyser if would be very useful if we could select a time range where we don't care about the signal and hit delete to remove it. It way much easier than scrolling when event are far apart.
Also, can you increase the minimum zoom level (even with 200 samples in view, it's still too much zoomed IMHO, I'd like to see more signals)
Thanks!
Hi,
I downloaded and started the LogicAnalyzer.exe in Win10 and I'm able to connect to the Pico. The communication seems to work, since the Pico starts to blink when I hit accept in the capture settings and stops blinking when I hit abort.
Unfortunately the channels pane remains black all the time and I don't see any channels or captures.
What am I doing wrong?
This is a great project, but I have a question why the accept and cancel buttons on the configure capture page of my PC software disappeared, I don't know what happened, hope to be able to help, thank you very much
First of all, cool work!
You said you might make a cross platform UI if you get enough requests. I haven't seen such a request to +1 it yet, so I'll start a first one.
Personally I'll receive my Pico in the next couple days and I want to try this out immediately, even if it's on Windows only. I'd still prefer a Linux version.
Thanks for the good work!
This is a great project, but I have a question why the accept and cancel buttons on the configure capture page of my PC software disappeared, I don't know what happened, hope to be able to help, thank you very much
Hi,
I'm having trouble finding the specific capacitance values for the 12 capacitors on the level shifter.
What should I consider when picking out those when I want to build a level shifter myself.
The case opening for the micro USB socket does not fit on the side.
The Raspberry Pico has the socket on the front side exactly in the middle.
Would be desirable to create a Sigrok driver as it's a widely used software to handle logic analyzers.
Hi there, it's a bit unclear what pins one would use to daisy chain RP2040 ZERO.
Thank you and good health!
Currently, the message is very vague and just says that there was an error. Additionally, the requirements for a successful capture should probably be shown in the README or somewhere more obvious. I had to dig through the source code to realize that the reason it wasn't capturing was because I set pre-samples to zero, thinking that I just wanted to maximize the number of samples after the trigger that it captured. I actually wound up reinstalling the firmware on the Pi Pico, redownloading the application from GitHub, rebooting both my machine and the Pi Pico several times, and was about to run a live linux distro until I saw that it was just because pre-samples has to be at least 2.
Hi, brother
When I am capturing, I want to stop capturing; But I don't know how to stop scanning, only power off and restart.
Adding start and stop buttons to the software is a good choice.
The current code hard codes the LED pin.
Would it be possible to add a build for the Pico-W, as the LED uses an IO pin on the Wifi chip.
Would not want/expect Wifi support, but would be useful to have a Pico-W build image for those of us who have spare Pico-W's.
Hello, that's a very nice project, this one!
you did a very clever usage of that "small" FSM present in these PIO modules.. didn't know of them, but very powerful, this way.
i'll not chime about the high level software, as it's open source and anybody can adapt to his best pet frontend! :-)
i'm more interested about the board for adapting different logic levels. i see the TXU0104 is pretty cool too, because it can manage also "external levels" from 1.1 to 5.5v so i suppose that many would be interested in a logic analyzer for also the "quite common" logic voltage of 1.8v and 2.5v. some simple extension would give this adapter board a quite more "exclusive" market, imho.
on the other hand, reading the DS of this TXU0104, it looks like it could also work in reverse mode, so you could use it also to have that RP2040 work as a simple signal generator, for some of its pins.
don't know if the state machine of these PIO units can be helpful for this task too, but in a general way, a device that can do both input and output could be pretty useful, for the same BOM or so.
that's all, sorry for the "noise", just my two cents
that's a good project already, anyway!
After attempting to run on a machine with Norton, both the .exe and a bunch of the .dll's got flagged and removed as part of remidiation.
Hello,
I am using v2.0.1.0 under Linux, the capture and save are fine, but exporting the data results in an application crash with the following log:
Unhandled exception. System.IndexOutOfRangeException: Index was outside the bounds of the array.
at LogicAnalyzer.MainWindow.<MnuExport_Click>b__9_0(Int32 c) in C:\Users\geniw\source\repos\LogicAnalyzer\LogicAnalyzer\MainWindow.axaml.cs:line 72
at System.Linq.Enumerable.SelectArrayIterator`2.ToArray()
at LogicAnalyzer.MainWindow.MnuExport_Click(Object sender, RoutedEventArgs e) in C:\Users\geniw\source\repos\LogicAnalyzer\LogicAnalyzer\MainWindow.axaml.cs:line 72
at System.Threading.Tasks.Task.<>c.<ThrowAsync>b__128_0(Object state)
at Avalonia.Threading.AvaloniaSynchronizationContext.<>c__DisplayClass5_0.<Post>b__0() in /_/src/Avalonia.Base/Threading/AvaloniaSynchronizationContext.cs:line 33
at Avalonia.Threading.JobRunner.RunJobs(Nullable`1 priority) in /_/src/Avalonia.Base/Threading/JobRunner.cs:line 37
at Avalonia.X11.X11PlatformThreading.CheckSignaled() in /_/src/Avalonia.X11/X11PlatformThreading.cs:line 164
at Avalonia.X11.X11PlatformThreading.RunLoop(CancellationToken cancellationToken) in /_/src/Avalonia.X11/X11PlatformThreading.cs:line 244
at Avalonia.Threading.Dispatcher.MainLoop(CancellationToken cancellationToken) in /_/src/Avalonia.Base/Threading/Dispatcher.cs:line 65
at Avalonia.Controls.ApplicationLifetimes.ClassicDesktopStyleApplicationLifetime.Start(String[] args) in /_/src/Avalonia.Controls/ApplicationLifetimes/ClassicDesktopStyleApplicationLifetime.cs:line 120
at Avalonia.ClassicDesktopStyleApplicationLifetimeExtensions.StartWithClassicDesktopLifetime[T](T builder, String[] args, ShutdownMode shutdownMode) in /_/src/Avalonia.Controls/ApplicationLifetimes/ClassicDesktopStyleApplicationLifetime.cs:line 209
at LogicAnalyzer.Program.Main(String[] args) in C:\Users\geniw\source\repos\LogicAnalyzer\LogicAnalyzer\Program.cs:line 14
Aborted
The file is 0 bytes
Capture parameters:
{
"Frequency":4000000,
"PreTriggerSamples":5,
"PostTriggerSamples":1024,
"CaptureChannels":[
20,
21,
22,
23
],
"TriggerType":0,
"TriggerChannel":22,
"TriggerInverted":true,
"TriggerBitCount":0,
"TriggerPattern":0
}
Previously I was using analog channels on pulseview as a sample oscilloscope. I would like to continue to get this feature on LogicAnalyzer. Will it be added in the near future? Thx.
I am trying to integrate rp2040 on PCB to complete a more integrated product.But I have a question. I see that your PCB wiring is treated with equal length, but the IO wiring on the rp2040 development board is not of equal length. Do I need to treat the whole process of equal length when I make an integrated PCB?
The released MacOS binaries contains only the dotnet publish files, not a packaged application. Expected a signed application ready for running on the Mac.
Version: 5.0.0.0
OS: Linux
Protocol analyzers reports "None" when directory is called Analyzers
.
Protocol analyzers reports <list>
when directory is called analyzers
.
I would propose looking for Analyzers
instead of the lowercase version. as that appears in the release zip files. For non-case sensitive file systems (Windows and most/standard OS X) it should continue to work.
Workaround: Manually rename directory.
Not an issue, just an idea:
Can you resize the Level Shifter PCB so that it's the same size as the main Logic Analyzer PCB and add holes to the four corners to align with the holes in the Analyzer PCB?
The idea is to mount the level shifter PCB upside-down on top of, or underneath of, the main Logic Analyzer PCB to keep the same footprint in the X and Y directions, and it would just end up being slightly taller in the Z direction.
I really don't know how to use PCB design software (i.e. KiCad) so I'm lost when trying to do it myself.
Hi,
this is FYI only: I created a 3D-printed case for a minimal LogicAnalyzer: https://github.com/bablokb/3D-pico-lipo-shim
Only 8 channels and no level-shifting, but sufficient for my needs. It features a Pico-W and a LiPo attached using a LiPo-Shim from Pimoroni.
Hi,
some more suggestions:
The first one is "nice to have", the second one is useful. I think most users will typically have one device only. The third one would help in analyzing the 4-wire protocol (most SPI stuff I am using has this data/command line).
(as you can see: users always want more features ;-)
Hi,
it seems that Logicanalyzer 3.5.0.0 on Linux captures without returning any samples if the post-samples
exceeds 4339. The pre-samples range is also limited. The allowed ranges for pre-samples is [2, 29] and
for post-samples it is [512, 4339].
During capture the led is slowly blinking and after the fulfilled trig condition (falling edge)
the led stops blinking signalling a capture. But, no capture is shown and the "Abort" button
is still the only active button. Clicking "Abort" prints the following message to the console:
"
The port is closed. - at System.IO.Ports.SerialStream.Read(Byte[] array, Int32 offset, Int32 count, Int32 timeout)
at System.IO.BinaryReader.InternalRead(Int32 numBytes)
at System.IO.BinaryReader.ReadUInt16()
at SharedDriver.LogicAnalyzerDriver.ReadCapture(Int32 Samples, Byte Mode) in C:\Users\geniw\source\repos\LogicAnalyzer\SharedDriver\LogicAnalyzerDriver.cs:line 344
"
Tried with 8, 16 and 24 modes without success.
It takes about 4-5 seconds from when the led stops blinking to the samples are shown
in the LogicAnalyzer (when the pre- and post-samples are in the "allowed" range).
ClCapture fails with error message:
"
ClCapture capture /dev/ttyACM2 1000000 1 20 1014 TriggerType:Edge,Channel:1,Value:0 out-capture.csv
CLCapture 1.0.0
Copyright (C) 2023 CLCapture
ERROR(S):
A value not bound to option name is defined with a bad format.
A required value not bound to option name is missing.
--help Display this help screen.
---- rest of output deleted ----
"
Should ClCapture version be 1.0.0?
Both LogicAnalyzer and ClCapture works when reverting to the previous version (2.0.0.1).
This is on Ubuntu 22.04 with a standard Pico with no WiFi, using Firmware-LogicAnalyzer-3.5.0.0.uf2.
I would be happy to do further tests if needed.
By the way, the extended capture is brilliant!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.