gabonator / la104 Goto Github PK
View Code? Open in Web Editor NEWLA104 logic analyser alternative firmware and experiments
License: MIT License
LA104 logic analyser alternative firmware and experiments
License: MIT License
Hello,
I have a DS203 currently with wildcat 6.5 hw 2.81 sys 1.64
I went in DSU mode and copied the ds203.hex file, all went fine.
Disconnected, restarted and asked for shell.elf, I copied the elf files but still keeps on asking for the shell.elf file.
I believe there is some issue with the memory location as it seems to look in another part but I am not sure.
Any suggestion?
Hi,
I'm trying to upload system.hex to my DS203 but it fails:
~/Projects/LA104/tools/dfuload$ sudo ./dfuload /dev/sdc cp ~/Downloads/system.hex
OemName: MSDOS5.0
Boot boot sector signature 00
Device identification failed
Closing disk Ok
dmesg:
[52453.861781] usb 2-3: new full-speed USB device number 11 using xhci_hcd
[52454.014977] usb 2-3: New USB device found, idVendor=0483, idProduct=5720
[52454.014981] usb 2-3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[52454.014983] usb 2-3: Product: STM32 Mass Storage
[52454.014985] usb 2-3: Manufacturer: STMicroelectronics
[52454.014986] usb 2-3: SerialNumber: 8ÿx33T457Y�C
[52454.015738] usb-storage 2-3:1.0: USB Mass Storage device detected
[52454.016296] scsi host3: usb-storage 2-3:1.0
[52455.030484] scsi 3:0:0:0: Direct-Access Vertual DFU Disk PQ: 0 ANSI: 2
[52455.031546] sd 3:0:0:0: Attached scsi generic sg2 type 0
[52455.031738] sd 3:0:0:0: [sdc] 1024 512-byte logical blocks: (524 kB/512 KiB)
[52455.031881] sd 3:0:0:0: [sdc] Write Protect is off
[52455.031883] sd 3:0:0:0: [sdc] Mode Sense: 03 00 00 00
[52455.032023] sd 3:0:0:0: [sdc] No Caching mode page found
[52455.032027] sd 3:0:0:0: [sdc] Assuming drive cache: write through
[52455.051395] sd 3:0:0:0: [sdc] Attached SCSI removable disk
dd of my device:
orig-system.zip
When I copy the factory firmware HEX file, it copies over fine, and the hex file changes to *.RDY. However, with this firmware, The copy seems to start, hangs, and eventually errors out oddly, saying not enough space (Even though this firmware is smaller than factory). Then, the LA104 disconnects, and I get a USB error when it reconnects. I have Teracopy installed, and have disabled it. When I copy using Teracopy, it copies fine, but when the drive reconnects, the firmware file is changed to *.err. Both of these does seem to get the firmware on the device, as it somewhat works, but has quick crashes, and I'm guessing it's not fully installed.
Would it be possible to add automotive CAN bus analyzing or possible decoding?
when I try ti copy the system_la104.hex to my la104. the usb connection times out after a while. does anybody know what is happening?
Kind regard,
Ben
Hi,
iam trying to understand and document some details in this repository at the moment.
Can someone please explain the structure of that repository?
If i run the build scripts (for example in root folder or "build_all_apps.sh" in system) i get errors about missing files.
How to get started?
The official app only shows the first signal name on the signals list, i.e. SPI input mode shows only 1: MOSI and 2:4 are empty.
Hi,
I am using the last LA104 stable release. The UARTmonitor is constantly sending out data like "Ahoj, toto je riadok 'counter' ", I think this was meant for the promo video. However I dont think it is supposed to be in the release, am I right here?
Thanks for the great repo!
The RF potential for this looks fantastic, but after adding a CC1101 board, I realized I don't have any compatible devices that are automatically recognized. It would be great if unrecognized devices could still be recorded, analyzed, and played back.
Is there a way to take the .hex files provided by miniware and allow them to run from shell.elf?
I know they source they have released is several version behind the .hex files they have made available.
Thanks!
Kinda related to #89 but I also want to run the more recent version of the LA104 analyzer also (with working screen capture hotkeys). Also, these mods would be pretty sweet. https://github.com/Ralim/LA104
THANKS!
Initially had issues copying system.hex on windows 10 and Ubuntu, could not get DFUload to open. Tried mini installation mentioned in another issue and that loaded, but PulseView will not open.
Reports "Symbol 'ZN4BIOS3USB10InitializeEPvS1_S1S1_PPFvvES4_S4' not found!"
And
"Assertion failed in ../source/main/Execute.cpp [432]: dwProcAddr
Application halted"
I presume this is because of the mini installation, but can't seem to get the "full" installation to install
Hi Gabriel,
I wanted to try your new firmware on my good old DS203 but I can't get it to load (DFU reports .rdy file but after reboot I still have the previously loaded firmware).
My DS203 has a 2.70 hardware, could this be the problem ?
I managed to load successfully your webusbosc firmware tough (great job by the way !).
Thanks four your help !
Frederic.
I've added this issue on the off chance that it's the format of the .hex file that is triggering the failures.
Firstly I can successfully load the official LA104_APP_V1.03.hex and also the Ralim modified version from Linux or Windows 10 64 bit.
When installing either the system_la104.hex or the system.hex files. I receive an error file in response regardless of O/S or methodology such as using the DFU loader.
With Window 10 the system.hex gets 50% through the copy then appears to fail, whilst the system_la104.hex, doesn't seem to even start.
With Linux both files appear to copy correctly via the DFU load, but the error file is still returned and the device fails to load on power on. Yet is happy to be reloaded with the official firmware .hex file.
I'm wondering if there is a Srecord format, boundry size issue that is causing the loader to fail.
Hello!
I found link to this project from https://hackaday.com/2020/10/01/teaching-a-pocket-logic-analyzer-many-new-tricks/
Could you please add information about license of this repository — is it allowed to copy, change and use code in any purpose?
It would be great to see any popular open source license.
I've tried to deploy this several times to my LA104 DFU v3.61D
Every time I do the copy fails at exactly 66%, the DFU disk disconnects and when it reconnects the system.hex has been renamed system.err.
If I then power cycle the device I get an image not found error
I did manage to re-flash with firmware from Miniware but i'd really like to work with yours. The same issue occurs for someone else running a custom firmware on the DSO here https://youtu.be/Y0BOBghLsGk
Any ideas
@gabonator,
I have downloaded the latest version of the LA104.
All tools work except for the DS1820 temperature grapher tool.
I copied it then from version 13 Nov 2020 the 3 files (dstemper.bmp,dstember.elf,dstember)of the apps to version 24 Mar 2021 then it works.
Maybe you can look over there again!?
Hi,
First of all, thanks for creating this project. It makes these devices even more useful than they already are.
I recently installed the beta release, and most of the apps work; however, the sequencer app appears not to accept the SMPLbutton on the menu. So I'm not able to get into settings or select Loop, Burst, or Follow.
Since it is a beta release, this may already be on your radar; if so, then please ignore this message :-)
I recently got an LA104 and flashed it with the latest release of this firmware, hoping to use the WebUSB RF analyser functionality. When I connect it to my Android phone and open https://rawgit.valky.eu/gabonator/LA104/master/system/apps/79_cc1101osc/web/index.html in Chrome, it manages to connect (but is not very usable on a phone screen). However, in Chrome on either my Chromebook or Mac laptop, when I try to connect it says there are no compatible devices available. This appears to be due to a permissions issue, as Chrome is not allowed to open the raw USB device.
Is there an easy way around this?
I did notice that using the WebSerial example at https://unjavascripter-web-serial-example.glitch.me/ I was able to successfully connect, so maybe it would make sense to use WebSerial rather than WebUSB?
The problem has been solved, if you encounter this problem, please refer to it.
Like the product manual, copying a single .hex will get stuck and cannot be copied.
We need to copy two files (.hex file and any blank text file). After copying, the extension of both files will become .err files. At this time, delete the blank text file and change the firmware .err extension to .hex. We will get the .rdy file.
I've built the firmware from the current release and tried the latest available and I keep getting hardfaults for example when plugging in the USB for the webosc program or at random intervals when using the miniosc program.
Output from devinfo:
DFU version: V3.73C
Hardware version: SCH_V2.0
System version: DS213
FPGA version: AGL1K
Display: ILI9327 (400x240)
Disk: 8MB (8188kB)
Please see photo of screen.
Everything is normal after reboot.
Please advise.
Thanks,
R.
Information from Device Info app:
HW
DFU V3.61D
HW rev 1.5B
Sys ver LA104
FPGA ver (null)
Display ili9341 (320x240)
Disk (null) (8192kB)
SW
BIOS ver 0104
Build rev 988f56a
Build date Mar 24 2021
Sound does not work in official app.
Build log: https://glot.io/snippets/fpjuu9wtuh
I am building it on ubuntu 20.04 x64 with the newest arm compiler. I am following the instruction in the resources folder.
Also, it'll be way better to use a CI to generate the latest pre-built binaries.
Thank you!
Connect BIOS::SYS::Beep function with Beep from imports.c
LA104 memory 8,4mb overfilled, 0 bytes free. After powering system ON cant load properly and stucks at rendering only 1 icon and no actions possible. In DFU mode loads OK. How can I format or erase memory to re-flash the system and then image with apps i've built ?
it'll be absolutely helpful to have a building guide for linux and windows
Hi,
In the docs of ds213 they state that you have 4 app partitions for running multiple apps. Is it possible too run this firmware side by side with the official one. If so, how?
Thanks.
- case DisplayType: return (uintptr_t)(char*)"ili9314";
+ case DisplayType: return (uintptr_t)(char*)"ili9341";
Ref: https://github.com/gabonator/LA104/blob/master/resources/ILI9341.pdf
Hi can you help me on how do i install the rftool in my la104.
Has anyone had this issue before? I'm running the alternative firmware and some functions in minigen and miniosc apps don't do anything besides flashing briefly an "Assertion Failed" error. For example, when I try to change the waveform in the minigen I get "Assertion failed in ../source/../../../os_source/gui/Controls.h [267]:0". The same exact error shows up when I push K1 to show the side menus in the miniosc, or when I try to change settings in the side menus of the disp tab.
Thanks to whoever helps me
been testing test41_alchemy, which is a cool app, so thank you for that.
But, it corrupts the fikesystem, to a degree, where it ends up 'empty' - eg needs to reformat, and reinstall all.
it happens, when pressing F3, a file rf00x.sig is reported saved, with OK message.
but, when rebooting the device, there is nothing on the disk, and reinstall is necessary.
WinUSB driver installed (Zadig v1.5).
WEBUSB RF Analyser started.
When asks in a window, then I connect to USB, and I can see the LA104 device in Windows Device Manager.
The Chrome detects the unit and starts the web application that can't connect to the device. The sigin in the last line rotates endlessly.
Any idea? Did I do smething wrong?
Thanks.
I tried multiple strips I have around and none of them display correctly for some reason
While the release files flash and installs fine, it seems more files are missing in the repo.
For example, 17analyser,which should be the default LA104 analyser app is missing.
So, compilation wont finish.
Iam using the build script supplies in tools which should create hex file and zjp file with root filsystem.
Am i missing something
Not sure if this is doable but if it works this is gonna be very handy.
Can the new firmware decode SMBus to see laptop battery details?
A foreword: I'm fully aware that this is a stupid question and that this is not the right place to post about it. The LA104 OS as well as the available applications are amazing and I'm impressed by the ingenuity and effort that went into making them possible.
Please forgive the following noobish, desperate question.
I've recently upgraded from the DS203 to DS213 to make use of the higher bandwidth and sampling frequency. I've been using the Wildcat firmware on my DS203, making extensive use of the FFT functionality. Unfortunately the development on the Wildcat FW seems to have gone stale and there is no official support for the DS213. As a 100% not-a-programmer there is nothing I can do to get it to run on the new scope. Out of fear of bricking the new scope I haven't attempted flashing Wildcat nor running it using the LA104 OS.
Would it be possible to port Wildcat to the DS213 platform or better yet to run it as-is? Are there major issues or roadblocks that would prevent this completely? Can I possibly help in any way?
Thank you! 💙
Trying to use the WebUSB Oscilloscope on my DS203 (HW v2.7b) on Windows 10 with Chrome.
When I plug it in, I get the Chrome popup "DS203 Oscilloscope detected", but the resulting page fails to connect to the scope.
In developer tools, I see: "Uncaught (in promise) DOMException: A transfer error has occurred.".
Because the popup appears, I think the Zadig WinUSB installation was fine.
In "chrome://device-log/" I read:
USBError[20:47:12] Interface handle not available for control transfer.
USBUser[20:46:27] USB device added: path=\\?\usb#vid_1209&pid_db42#197424433258353037ff717#{a5dcbf10-6530-11d2-901f-00c04fb951ed} vendor=4617 "Gabriel", product=56130 "DS203 Oscilloscope", serial="197424433258353037FF717", driver="WinUSB", guid=e578864b-94a7-454d-b10e-ef3d10a64703
This might be the problem, but I don't really know where to begin debugging USB.
Also, this particular error only have hits in the Chromium source on Google: https://www.google.com/search?q=%22Interface+handle+not+available+for+control+transfer.%22
In "chrome://usb-internals/" I don't see any problems inspecting the DS203 device.
And idea how to continue debugging or solving this?
I've tried both the last 'official' DS203 release and building master with the docker.
The original App had an option for saving data as CSV text in the FileSys menu.
I tried to run build.sh on ubuntu 18.10 and I get the following error:
./build.sh
In file included from dfuload.cpp:13:
fat12.h:190:10: fatal error: i386/endian.h: No such file or directory
#include "i386/endian.h"
^~~~~~~~~~~~~~~
compilation terminated.
In file included from fat12tool.cpp:13:
fat12.h:190:10: fatal error: i386/endian.h: No such file or directory
#include "i386/endian.h"
^~~~~~~~~~~~~~~
compilation terminated.
The current version of the manufacturer miniDSO is V1.27. An older version seems to be running in the app, as the probe attenuation 1:10 is not selectable.
I ran into the same situation as the previous issues. I couldn't load the new firmware on v3.61d. I also successfully updated the official LA104_APP_V1.03.hex, but still couldn't update the latest la104.hex. I tried to use dfuload, but only returned:
oemname: msdos5.0
Nothing to do.
Closing disk Ok
First things first thanks for the great firmware.
ont the ds1820 app I get an assertion failed error. and this is happening in execute.cpp on line 139. This also happens in the SHT20 app on the same line.
Also in the servo app has the assertion failed in the class.h file on line 202.
Kind regards,
Ben.
I have a DSO Quad DS203 V2.7
When starting shell.elf I get the error: Symbol '_ZN4BIOS3SYS12GetAttributeENS0_10EAttributE' not found!
.
$ ./dfuload /dev/sdb cp ~/Downloads/system_ds203.hex
Opening: '/dev/sdb' .....................................................
Failed to open disk '/dev/sdb', errno:13
[smite@ErikXPS13 dfuload]$ sudo mcopy -i /dev/sdb ~/Downloads/system_ds203.hex ::system_ds203.hex
[smite@ErikXPS13 dfuload]$ sudo mdir -i /dev/sdb
Volume in drive : is DFU V3_11_C
Directory for ::/
SYSTEM~1 RDY 74413 2021-03-11 15:21
1 file 74 413 bytes
But still same error.
I've also tried release 2019.12. Here, shell.elf works, but webosc.elf gives the same assertion failed, symbol not found.
My DFU is the famous V3.11C. Is this "symbol not found" caused by install not fully completing?
I've tried flashing STM32 via UART, but have not been succesful so far.
When I connect the Rx/Tx as indicated, both stm32flasher and "Flash Loader Demo" get no response from the device.
When I reverse them, stm32flasher still can't init. "Flash Loader Demo" says it sees an unknown device.
When testing with a terminal emulator in reversed state, I get some response on my input.
When testing with a terminal emulator in indicated state, I get no response on my input.
Should I continue to try to upgrade or downgrade my DFU?
Is there a non-UART way to do so?
Hi,
Firstly You did really great job.
Thank you very much.
Is possible to add functionality to I2C to send (create) i2c packet for testing purposes?
Like i2c sniffer with possibility send and receive commands to device.
It could be great to do in the device itself or from PC (terminal) over USB.
Thank you again
add imagemagick to the deps on https://github.com/gabonator/LA104/tree/master/resources/tutorial_building
Just wanna say this is absolutely phenomenal firmware. I was on the fence about buying the LA104 and it put me over the edge.
When messing with the webusb rf analyzer, I can connect to my rf adapter, when I plug into usb I only see a com port. Nothing else happens with it. Am I missing something obvious?
Feature request:
In the pwm page under gpio control, or a different page or app altogether - would it be possible to implement a function generator?
EDIT: after reading more carefully, I catched to upload the appsroot not with the same methode as system.hex - works now! ;)
I had a very unstable file system under windows 10. This is what I tried to improve the situation but it did not improve much. ;)
I have no freebsd around here and I was to lazy to setup a vmware.
Therefore "newfs_msdos -F 12 -v la104 -O "MSDOS5.0" -S 4096 /dev/disk2" is not available for me.
I ran the following on Ubuntu to get the same result:
mkfs.msdos -s 1 -n la104 -f 2 -v -F 12 -S 4096 -r 512 /dev/sdd
Output of the formating process:
mkfs.fat 4.1 (2017-01-24)
mkfs.fat: warning - lowercase labels might not work properly with DOS or Windows
attribute "partition" not found
/dev/sdd has 1 head and 4 sectors per track,
hidden sectors 0x0000;
logical sector size is 4096,
using 0xf8 media descriptor, with 512 sectors;
drive number 0x80;
filesystem has 2 12-bit FATs and 1 sector per cluster.
FAT size is 1 sector, and provides 505 clusters.
There is 1 reserved sector.
Root directory contains 512 slots and uses 4 sectors.
Volume ID is 22190e40, volume label la104 .
Comparison before running the format command:
./fat12tool /dev/sdd ls
Good jump inst
OemName: MSDOS5.0
Good boot sector signature
Bytes per sector: 512
Sectors per cluster: 1
Reserved sectors: 8
Number of FATs: 2
Number of root dir entries: 512
Total number of sectors: 4096
Number of sectors per FAT: 12
Number of hidden sectors: 0
Listing files at cluster 0
Read direntry at 4000 ok
DFU V3_6.1_D attr:08 low:0, crea:000000 0000, high:0000, modif:188d dd40, a:0000, start:0000 size:00000000
Read direntry at 4020 ok
B Inf.o attr:0f low:0, crea:727200 6d00, high:7400, modif:6900 6f00, a:6100, start:0000 size:0000006e
Read direntry at 4040 ok
Syst.e attr:0f low:0, crea:726d00 2000, high:6f00, modif:6c00 7500, a:5600, start:0000 size:0065006d
Read direntry at 4060 ok
SYSTEM~1. attr:16 low:0, crea:5e6370 5d45, high:0000, modif:6470 5d45, a:5d45, start:0002 size:00000000
Read direntry at 4080 ok
A._.T.r attr:0f low:0, crea:7f6100 7300, high:6500, modif:7300 0000, a:6800, start:0000 size:ffffffff
Read direntry at 40a0 ok
~1 .TRA attr:22 low:0, crea:4a8a5a 7945, high:0000, modif:8a5a 7945, a:7945, start:0005 size:00001000
Read direntry at 40c0 ok
▒RASHE~1.EFM attr:12 low:0, crea:478a5a 7945, high:0000, modif:8a5a 7945, a:7945, start:0004 size:00000000
Read direntry at 40e0 ok
A.Tra.s attr:0f low:0, crea:256800 6500, high:0000, modif:ffff ffff, a:7300, start:0000 size:ffffffff
Read direntry at 4100 ok
TRASHE~1. attr:12 low:0, crea:478a5a 7945, high:0000, modif:8a5a 7945, a:7945, start:0004 size:00000000
Read direntry at 4120 ok
A.fse.v attr:0f low:0, crea:da6500 6e00, high:7300, modif:6400 0000, a:7400, start:0000 size:ffffffff
Read direntry at 4140 ok
FSEVEN~1. attr:12 low:0, crea:4d8a5a 7945, high:0000, modif:8a5a 7945, a:7945, start:000d size:00000000
Read direntry at 4160 ok
after formating:
./fat12tool /dev/sdd ls
Good jump inst
OemName: MSDOS5.0
Good boot sector signature
Bytes per sector: 512
Sectors per cluster: 1
Reserved sectors: 8
Number of FATs: 2
Number of root dir entries: 512
Total number of sectors: 4096
Number of sectors per FAT: 12
Number of hidden sectors: 0
Listing files at cluster 0
Read direntry at 4000 ok
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.