Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,8 @@ Exits with 0 on success, 1 on most failures.
.br
\fBsigrok\-fwextract\-lecroy\-logicstudio\fP(1)
.br
\fBsigrok\-fwextract\-px\-logic\fP(1)
.br
\fBsigrok\-fwextract\-saleae\-logic16\fP(1)
.br
\fBsigrok\-fwextract\-sysclk\-lwla1016\fP(1)
Expand Down
2 changes: 2 additions & 0 deletions firmware/hantek-dso/sigrok-fwextract-hantek-dso.1
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,8 @@ Exits with 0 on success, 1 on most failures.
.br
\fBsigrok\-fwextract\-lecroy\-logicstudio\fP(1)
.br
\fBsigrok\-fwextract\-px\-logic\fP(1)
.br
\fBsigrok\-fwextract\-saleae\-logic16\fP(1)
.br
\fBsigrok\-fwextract\-sysclk\-lwla1016\fP(1)
Expand Down
2 changes: 2 additions & 0 deletions firmware/kingst-la/sigrok-fwextract-kingst-la2016.1
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,8 @@ Exits with 0 on success, 1 on most failures.
.br
\fBsigrok\-fwextract\-lecroy\-logicstudio\fP(1)
.br
\fBsigrok\-fwextract\-px\-logic\fP(1)
.br
\fBsigrok\-fwextract\-saleae\-logic16\fP(1)
.br
\fBsigrok\-fwextract\-sysclk\-lwla1016\fP(1)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,8 @@ Exits with 0 on success, 1 on most failures.
.br
\fBsigrok\-fwextract\-kingst\-la2016\fP(1)
.br
\fBsigrok\-fwextract\-px\-logic\fP(1)
.br
\fBsigrok\-fwextract\-saleae\-logic16\fP(1)
.br
\fBsigrok\-fwextract\-sysclk\-lwla1016\fP(1)
Expand Down
58 changes: 58 additions & 0 deletions firmware/px-logic/sigrok-fwextract-px-logic
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
#!/usr/bin/env python3
##
## This file is part of the sigrok-util project.
##
## Copyright (C) 2026 dogtopus <[email protected]>
##
## This program is free software; you can redistribute it and/or modify
## it under the terms of the GNU General Public License as published by
## the Free Software Foundation; either version 3 of the License, or
## (at your option) any later version.
##
## This program is distributed in the hope that it will be useful,
## but WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
## GNU General Public License for more details.
##
## You should have received a copy of the GNU General Public License
## along with this program; if not, see <http://www.gnu.org/licenses/>.
##

import hashlib
import os
import shutil
import sys
import urllib.parse
import urllib.request


COMMIT = '0ac8c55bc86cf90f41496dcb422caa518ac4d4b0'
FILES = [
{
'name': 'px-logic-mcu.fw',
'original_name': 'SCI_LOGIC.bin',
'sha256': '75d1d38a9ea4bddef6bd41637939ee27028b75c86bbf504350fddad1129aa5ae',
}, {
'name': 'px-logic-fpga-stage1.fw',
'original_name': 'hspi_ddr_RST.bin',
'sha256': '1b4bf398a4cafd9d2fb0f118982ebc064db22ebdd50db36097610f82ec45ec69',
}, {
'name': 'px-logic-fpga-stage2.fw',
'original_name': 'hspi_ddr.bin',
'sha256': 'aa2fb803a46886dc77633c7e6fec87ca0a699a3db6a7d22732d3084bd76dd514',
},
]
REPO_RES_URL = 'https://github.com/PXLogic/PXView/raw/{commit}/PXView/res/'.format(commit=COMMIT)


if __name__ == '__main__':
for file in FILES:
url = urllib.parse.urljoin(REPO_RES_URL, file['original_name'])
target = os.path.join('.', file['name'])
print('Downloading', '{}...'.format(file['name']))
urllib.request.urlretrieve(url, filename=target)
with open(target, 'rb') as f:
sha256 = hashlib.sha256(f.read())
if sha256.hexdigest() != file['sha256']:
print(file['name'], 'failed validation. Aborting.')
sys.exit(1)
50 changes: 50 additions & 0 deletions firmware/px-logic/sigrok-fwextract-px-logic.1
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
.TH SIGROK\-FWEXTRACT\-PX\-LOGIC 1 "Feb 25 2026"
.SH "NAME"
sigrok\-fwextract\-px\-logic \- Extract PX Logic firmware
.SH "SYNOPSIS"
.B sigrok\-fwextract\-px\-logic
.SH "DESCRIPTION"
This tool downloads firmware and FPGA bitstreams from the vendor
software GitHub repository for the PX Logic USB logic analyzer.
.PP
In order to extract the firmware/bitstreams, run the following command:
.PP
.B " $ sigrok-fwextract-px-logic"
.br
.RB " Downloading px-logic-mcu.fw..."
.br
.RB " Downloading px-logic-fpga-stage1.fw..."
.br
.RB " Downloading px-logic-fpga-stage2.fw..."
.PP
Copy the resulting files over to the location where libsigrok expects
to find its firmware files. By default this is
.BR /usr/local/share/sigrok-firmware .
.SH OPTIONS
None.
.SH "EXIT STATUS"
Exits with 0 on success, 1 on most failures.
.SH "SEE ALSO"
\fBsigrok\-fwextract\-dreamsourcelab\-dslogic\fP(1)
.br
\fBsigrok\-fwextract\-hantek\-dso\fP(1)
.br
\fBsigrok\-fwextract\-kingst\-la2016\fP(1)
.br
\fBsigrok\-fwextract\-lecroy\-logicstudio\fP(1)
.br
\fBsigrok\-fwextract\-saleae\-logic16\fP(1)
.br
\fBsigrok\-fwextract\-sysclk\-lwla1016\fP(1)
.br
\fBsigrok\-fwextract\-sysclk\-lwla1034\fP(1)
.SH "BUGS"
Please report any bugs via Bugzilla
.RB "(" http://sigrok.org/bugzilla ")"
or on the sigrok\-devel mailing list
.RB "(" sigrok\[email protected] ")."
.SH "LICENSE"
This program is covered by the GNU General Public License (GPL),
version 3 or later.
.SH "AUTHORS"
Please see the individual source code files.
2 changes: 2 additions & 0 deletions firmware/saleae-logic16/sigrok-fwextract-saleae-logic16.1
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,8 @@ Exits with 0 on success, 1 on most failures.
.br
\fBsigrok\-fwextract\-lecroy\-logicstudio\fP(1)
.br
\fBsigrok\-fwextract\-px\-logic\fP(1)
.br
\fBsigrok\-fwextract\-sysclk\-lwla1016\fP(1)
.br
\fBsigrok\-fwextract\-sysclk\-lwla1034\fP(1)
Expand Down
2 changes: 2 additions & 0 deletions firmware/sysclk-lwla/sigrok-fwextract-sysclk-lwla1016.1
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,8 @@ Exits with 0 on success, 1 on most failures.
.br
\fBsigrok\-fwextract\-lecroy\-logicstudio\fP(1)
.br
\fBsigrok\-fwextract\-px\-logic\fP(1)
.br
\fBsigrok\-fwextract\-saleae\-logic16\fP(1)
.br
\fBsigrok\-fwextract\-sysclk\-lwla1034\fP(1)
Expand Down
2 changes: 2 additions & 0 deletions firmware/sysclk-lwla/sigrok-fwextract-sysclk-lwla1034.1
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,8 @@ Exits with 0 on success, 1 on most failures.
.br
\fBsigrok\-fwextract\-lecroy\-logicstudio\fP(1)
.br
\fBsigrok\-fwextract\-px\-logic\fP(1)
.br
\fBsigrok\-fwextract\-saleae\-logic16\fP(1)
.br
\fBsigrok\-fwextract\-sysclk\-lwla1016\fP(1)
Expand Down