pax_global_header 0000666 0000000 0000000 00000000064 13144346564 0014524 g ustar 00root root 0000000 0000000 52 comment=fb7aa9c542feab2716c0a4573304ba41090d5d08
libsigrok-0.5.0/ 0000775 0000000 0000000 00000000000 13144346564 0013513 5 ustar 00root root 0000000 0000000 libsigrok-0.5.0/AUTHORS 0000664 0000000 0000000 00000000435 13144346564 0014565 0 ustar 00root root 0000000 0000000 -------------------------------------------------------------------------------
AUTHORS
-------------------------------------------------------------------------------
Please check the source code files and/or git history and/or ChangeLog for
a list of all authors and contributors.
libsigrok-0.5.0/COPYING 0000664 0000000 0000000 00000104513 13144346564 0014552 0 ustar 00root root 0000000 0000000 GNU GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
Copyright (C) 2007 Free Software Foundation, Inc.
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The GNU General Public License is a free, copyleft license for
software and other kinds of works.
The licenses for most software and other practical works are designed
to take away your freedom to share and change the works. By contrast,
the GNU General Public License is intended to guarantee your freedom to
share and change all versions of a program--to make sure it remains free
software for all its users. We, the Free Software Foundation, use the
GNU General Public License for most of our software; it applies also to
any other work released this way by its authors. You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
them if you wish), that you receive source code or can get it if you
want it, that you can change the software or use pieces of it in new
free programs, and that you know you can do these things.
To protect your rights, we need to prevent others from denying you
these rights or asking you to surrender the rights. Therefore, you have
certain responsibilities if you distribute copies of the software, or if
you modify it: responsibilities to respect the freedom of others.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must pass on to the recipients the same
freedoms that you received. You must make sure that they, too, receive
or can get the source code. And you must show them these terms so they
know their rights.
Developers that use the GNU GPL protect your rights with two steps:
(1) assert copyright on the software, and (2) offer you this License
giving you legal permission to copy, distribute and/or modify it.
For the developers' and authors' protection, the GPL clearly explains
that there is no warranty for this free software. For both users' and
authors' sake, the GPL requires that modified versions be marked as
changed, so that their problems will not be attributed erroneously to
authors of previous versions.
Some devices are designed to deny users access to install or run
modified versions of the software inside them, although the manufacturer
can do so. This is fundamentally incompatible with the aim of
protecting users' freedom to change the software. The systematic
pattern of such abuse occurs in the area of products for individuals to
use, which is precisely where it is most unacceptable. Therefore, we
have designed this version of the GPL to prohibit the practice for those
products. If such problems arise substantially in other domains, we
stand ready to extend this provision to those domains in future versions
of the GPL, as needed to protect the freedom of users.
Finally, every program is threatened constantly by software patents.
States should not allow patents to restrict development and use of
software on general-purpose computers, but in those that do, we wish to
avoid the special danger that patents applied to a free program could
make it effectively proprietary. To prevent this, the GPL assures that
patents cannot be used to render the program non-free.
The precise terms and conditions for copying, distribution and
modification follow.
TERMS AND CONDITIONS
0. Definitions.
"This License" refers to version 3 of the GNU General Public License.
"Copyright" also means copyright-like laws that apply to other kinds of
works, such as semiconductor masks.
"The Program" refers to any copyrightable work licensed under this
License. Each licensee is addressed as "you". "Licensees" and
"recipients" may be individuals or organizations.
To "modify" a work means to copy from or adapt all or part of the work
in a fashion requiring copyright permission, other than the making of an
exact copy. The resulting work is called a "modified version" of the
earlier work or a work "based on" the earlier work.
A "covered work" means either the unmodified Program or a work based
on the Program.
To "propagate" a work means to do anything with it that, without
permission, would make you directly or secondarily liable for
infringement under applicable copyright law, except executing it on a
computer or modifying a private copy. Propagation includes copying,
distribution (with or without modification), making available to the
public, and in some countries other activities as well.
To "convey" a work means any kind of propagation that enables other
parties to make or receive copies. Mere interaction with a user through
a computer network, with no transfer of a copy, is not conveying.
An interactive user interface displays "Appropriate Legal Notices"
to the extent that it includes a convenient and prominently visible
feature that (1) displays an appropriate copyright notice, and (2)
tells the user that there is no warranty for the work (except to the
extent that warranties are provided), that licensees may convey the
work under this License, and how to view a copy of this License. If
the interface presents a list of user commands or options, such as a
menu, a prominent item in the list meets this criterion.
1. Source Code.
The "source code" for a work means the preferred form of the work
for making modifications to it. "Object code" means any non-source
form of a work.
A "Standard Interface" means an interface that either is an official
standard defined by a recognized standards body, or, in the case of
interfaces specified for a particular programming language, one that
is widely used among developers working in that language.
The "System Libraries" of an executable work include anything, other
than the work as a whole, that (a) is included in the normal form of
packaging a Major Component, but which is not part of that Major
Component, and (b) serves only to enable use of the work with that
Major Component, or to implement a Standard Interface for which an
implementation is available to the public in source code form. A
"Major Component", in this context, means a major essential component
(kernel, window system, and so on) of the specific operating system
(if any) on which the executable work runs, or a compiler used to
produce the work, or an object code interpreter used to run it.
The "Corresponding Source" for a work in object code form means all
the source code needed to generate, install, and (for an executable
work) run the object code and to modify the work, including scripts to
control those activities. However, it does not include the work's
System Libraries, or general-purpose tools or generally available free
programs which are used unmodified in performing those activities but
which are not part of the work. For example, Corresponding Source
includes interface definition files associated with source files for
the work, and the source code for shared libraries and dynamically
linked subprograms that the work is specifically designed to require,
such as by intimate data communication or control flow between those
subprograms and other parts of the work.
The Corresponding Source need not include anything that users
can regenerate automatically from other parts of the Corresponding
Source.
The Corresponding Source for a work in source code form is that
same work.
2. Basic Permissions.
All rights granted under this License are granted for the term of
copyright on the Program, and are irrevocable provided the stated
conditions are met. This License explicitly affirms your unlimited
permission to run the unmodified Program. The output from running a
covered work is covered by this License only if the output, given its
content, constitutes a covered work. This License acknowledges your
rights of fair use or other equivalent, as provided by copyright law.
You may make, run and propagate covered works that you do not
convey, without conditions so long as your license otherwise remains
in force. You may convey covered works to others for the sole purpose
of having them make modifications exclusively for you, or provide you
with facilities for running those works, provided that you comply with
the terms of this License in conveying all material for which you do
not control copyright. Those thus making or running the covered works
for you must do so exclusively on your behalf, under your direction
and control, on terms that prohibit them from making any copies of
your copyrighted material outside their relationship with you.
Conveying under any other circumstances is permitted solely under
the conditions stated below. Sublicensing is not allowed; section 10
makes it unnecessary.
3. Protecting Users' Legal Rights From Anti-Circumvention Law.
No covered work shall be deemed part of an effective technological
measure under any applicable law fulfilling obligations under article
11 of the WIPO copyright treaty adopted on 20 December 1996, or
similar laws prohibiting or restricting circumvention of such
measures.
When you convey a covered work, you waive any legal power to forbid
circumvention of technological measures to the extent such circumvention
is effected by exercising rights under this License with respect to
the covered work, and you disclaim any intention to limit operation or
modification of the work as a means of enforcing, against the work's
users, your or third parties' legal rights to forbid circumvention of
technological measures.
4. Conveying Verbatim Copies.
You may convey verbatim copies of the Program's source code as you
receive it, in any medium, provided that you conspicuously and
appropriately publish on each copy an appropriate copyright notice;
keep intact all notices stating that this License and any
non-permissive terms added in accord with section 7 apply to the code;
keep intact all notices of the absence of any warranty; and give all
recipients a copy of this License along with the Program.
You may charge any price or no price for each copy that you convey,
and you may offer support or warranty protection for a fee.
5. Conveying Modified Source Versions.
You may convey a work based on the Program, or the modifications to
produce it from the Program, in the form of source code under the
terms of section 4, provided that you also meet all of these conditions:
a) The work must carry prominent notices stating that you modified
it, and giving a relevant date.
b) The work must carry prominent notices stating that it is
released under this License and any conditions added under section
7. This requirement modifies the requirement in section 4 to
"keep intact all notices".
c) You must license the entire work, as a whole, under this
License to anyone who comes into possession of a copy. This
License will therefore apply, along with any applicable section 7
additional terms, to the whole of the work, and all its parts,
regardless of how they are packaged. This License gives no
permission to license the work in any other way, but it does not
invalidate such permission if you have separately received it.
d) If the work has interactive user interfaces, each must display
Appropriate Legal Notices; however, if the Program has interactive
interfaces that do not display Appropriate Legal Notices, your
work need not make them do so.
A compilation of a covered work with other separate and independent
works, which are not by their nature extensions of the covered work,
and which are not combined with it such as to form a larger program,
in or on a volume of a storage or distribution medium, is called an
"aggregate" if the compilation and its resulting copyright are not
used to limit the access or legal rights of the compilation's users
beyond what the individual works permit. Inclusion of a covered work
in an aggregate does not cause this License to apply to the other
parts of the aggregate.
6. Conveying Non-Source Forms.
You may convey a covered work in object code form under the terms
of sections 4 and 5, provided that you also convey the
machine-readable Corresponding Source under the terms of this License,
in one of these ways:
a) Convey the object code in, or embodied in, a physical product
(including a physical distribution medium), accompanied by the
Corresponding Source fixed on a durable physical medium
customarily used for software interchange.
b) Convey the object code in, or embodied in, a physical product
(including a physical distribution medium), accompanied by a
written offer, valid for at least three years and valid for as
long as you offer spare parts or customer support for that product
model, to give anyone who possesses the object code either (1) a
copy of the Corresponding Source for all the software in the
product that is covered by this License, on a durable physical
medium customarily used for software interchange, for a price no
more than your reasonable cost of physically performing this
conveying of source, or (2) access to copy the
Corresponding Source from a network server at no charge.
c) Convey individual copies of the object code with a copy of the
written offer to provide the Corresponding Source. This
alternative is allowed only occasionally and noncommercially, and
only if you received the object code with such an offer, in accord
with subsection 6b.
d) Convey the object code by offering access from a designated
place (gratis or for a charge), and offer equivalent access to the
Corresponding Source in the same way through the same place at no
further charge. You need not require recipients to copy the
Corresponding Source along with the object code. If the place to
copy the object code is a network server, the Corresponding Source
may be on a different server (operated by you or a third party)
that supports equivalent copying facilities, provided you maintain
clear directions next to the object code saying where to find the
Corresponding Source. Regardless of what server hosts the
Corresponding Source, you remain obligated to ensure that it is
available for as long as needed to satisfy these requirements.
e) Convey the object code using peer-to-peer transmission, provided
you inform other peers where the object code and Corresponding
Source of the work are being offered to the general public at no
charge under subsection 6d.
A separable portion of the object code, whose source code is excluded
from the Corresponding Source as a System Library, need not be
included in conveying the object code work.
A "User Product" is either (1) a "consumer product", which means any
tangible personal property which is normally used for personal, family,
or household purposes, or (2) anything designed or sold for incorporation
into a dwelling. In determining whether a product is a consumer product,
doubtful cases shall be resolved in favor of coverage. For a particular
product received by a particular user, "normally used" refers to a
typical or common use of that class of product, regardless of the status
of the particular user or of the way in which the particular user
actually uses, or expects or is expected to use, the product. A product
is a consumer product regardless of whether the product has substantial
commercial, industrial or non-consumer uses, unless such uses represent
the only significant mode of use of the product.
"Installation Information" for a User Product means any methods,
procedures, authorization keys, or other information required to install
and execute modified versions of a covered work in that User Product from
a modified version of its Corresponding Source. The information must
suffice to ensure that the continued functioning of the modified object
code is in no case prevented or interfered with solely because
modification has been made.
If you convey an object code work under this section in, or with, or
specifically for use in, a User Product, and the conveying occurs as
part of a transaction in which the right of possession and use of the
User Product is transferred to the recipient in perpetuity or for a
fixed term (regardless of how the transaction is characterized), the
Corresponding Source conveyed under this section must be accompanied
by the Installation Information. But this requirement does not apply
if neither you nor any third party retains the ability to install
modified object code on the User Product (for example, the work has
been installed in ROM).
The requirement to provide Installation Information does not include a
requirement to continue to provide support service, warranty, or updates
for a work that has been modified or installed by the recipient, or for
the User Product in which it has been modified or installed. Access to a
network may be denied when the modification itself materially and
adversely affects the operation of the network or violates the rules and
protocols for communication across the network.
Corresponding Source conveyed, and Installation Information provided,
in accord with this section must be in a format that is publicly
documented (and with an implementation available to the public in
source code form), and must require no special password or key for
unpacking, reading or copying.
7. Additional Terms.
"Additional permissions" are terms that supplement the terms of this
License by making exceptions from one or more of its conditions.
Additional permissions that are applicable to the entire Program shall
be treated as though they were included in this License, to the extent
that they are valid under applicable law. If additional permissions
apply only to part of the Program, that part may be used separately
under those permissions, but the entire Program remains governed by
this License without regard to the additional permissions.
When you convey a copy of a covered work, you may at your option
remove any additional permissions from that copy, or from any part of
it. (Additional permissions may be written to require their own
removal in certain cases when you modify the work.) You may place
additional permissions on material, added by you to a covered work,
for which you have or can give appropriate copyright permission.
Notwithstanding any other provision of this License, for material you
add to a covered work, you may (if authorized by the copyright holders of
that material) supplement the terms of this License with terms:
a) Disclaiming warranty or limiting liability differently from the
terms of sections 15 and 16 of this License; or
b) Requiring preservation of specified reasonable legal notices or
author attributions in that material or in the Appropriate Legal
Notices displayed by works containing it; or
c) Prohibiting misrepresentation of the origin of that material, or
requiring that modified versions of such material be marked in
reasonable ways as different from the original version; or
d) Limiting the use for publicity purposes of names of licensors or
authors of the material; or
e) Declining to grant rights under trademark law for use of some
trade names, trademarks, or service marks; or
f) Requiring indemnification of licensors and authors of that
material by anyone who conveys the material (or modified versions of
it) with contractual assumptions of liability to the recipient, for
any liability that these contractual assumptions directly impose on
those licensors and authors.
All other non-permissive additional terms are considered "further
restrictions" within the meaning of section 10. If the Program as you
received it, or any part of it, contains a notice stating that it is
governed by this License along with a term that is a further
restriction, you may remove that term. If a license document contains
a further restriction but permits relicensing or conveying under this
License, you may add to a covered work material governed by the terms
of that license document, provided that the further restriction does
not survive such relicensing or conveying.
If you add terms to a covered work in accord with this section, you
must place, in the relevant source files, a statement of the
additional terms that apply to those files, or a notice indicating
where to find the applicable terms.
Additional terms, permissive or non-permissive, may be stated in the
form of a separately written license, or stated as exceptions;
the above requirements apply either way.
8. Termination.
You may not propagate or modify a covered work except as expressly
provided under this License. Any attempt otherwise to propagate or
modify it is void, and will automatically terminate your rights under
this License (including any patent licenses granted under the third
paragraph of section 11).
However, if you cease all violation of this License, then your
license from a particular copyright holder is reinstated (a)
provisionally, unless and until the copyright holder explicitly and
finally terminates your license, and (b) permanently, if the copyright
holder fails to notify you of the violation by some reasonable means
prior to 60 days after the cessation.
Moreover, your license from a particular copyright holder is
reinstated permanently if the copyright holder notifies you of the
violation by some reasonable means, this is the first time you have
received notice of violation of this License (for any work) from that
copyright holder, and you cure the violation prior to 30 days after
your receipt of the notice.
Termination of your rights under this section does not terminate the
licenses of parties who have received copies or rights from you under
this License. If your rights have been terminated and not permanently
reinstated, you do not qualify to receive new licenses for the same
material under section 10.
9. Acceptance Not Required for Having Copies.
You are not required to accept this License in order to receive or
run a copy of the Program. Ancillary propagation of a covered work
occurring solely as a consequence of using peer-to-peer transmission
to receive a copy likewise does not require acceptance. However,
nothing other than this License grants you permission to propagate or
modify any covered work. These actions infringe copyright if you do
not accept this License. Therefore, by modifying or propagating a
covered work, you indicate your acceptance of this License to do so.
10. Automatic Licensing of Downstream Recipients.
Each time you convey a covered work, the recipient automatically
receives a license from the original licensors, to run, modify and
propagate that work, subject to this License. You are not responsible
for enforcing compliance by third parties with this License.
An "entity transaction" is a transaction transferring control of an
organization, or substantially all assets of one, or subdividing an
organization, or merging organizations. If propagation of a covered
work results from an entity transaction, each party to that
transaction who receives a copy of the work also receives whatever
licenses to the work the party's predecessor in interest had or could
give under the previous paragraph, plus a right to possession of the
Corresponding Source of the work from the predecessor in interest, if
the predecessor has it or can get it with reasonable efforts.
You may not impose any further restrictions on the exercise of the
rights granted or affirmed under this License. For example, you may
not impose a license fee, royalty, or other charge for exercise of
rights granted under this License, and you may not initiate litigation
(including a cross-claim or counterclaim in a lawsuit) alleging that
any patent claim is infringed by making, using, selling, offering for
sale, or importing the Program or any portion of it.
11. Patents.
A "contributor" is a copyright holder who authorizes use under this
License of the Program or a work on which the Program is based. The
work thus licensed is called the contributor's "contributor version".
A contributor's "essential patent claims" are all patent claims
owned or controlled by the contributor, whether already acquired or
hereafter acquired, that would be infringed by some manner, permitted
by this License, of making, using, or selling its contributor version,
but do not include claims that would be infringed only as a
consequence of further modification of the contributor version. For
purposes of this definition, "control" includes the right to grant
patent sublicenses in a manner consistent with the requirements of
this License.
Each contributor grants you a non-exclusive, worldwide, royalty-free
patent license under the contributor's essential patent claims, to
make, use, sell, offer for sale, import and otherwise run, modify and
propagate the contents of its contributor version.
In the following three paragraphs, a "patent license" is any express
agreement or commitment, however denominated, not to enforce a patent
(such as an express permission to practice a patent or covenant not to
sue for patent infringement). To "grant" such a patent license to a
party means to make such an agreement or commitment not to enforce a
patent against the party.
If you convey a covered work, knowingly relying on a patent license,
and the Corresponding Source of the work is not available for anyone
to copy, free of charge and under the terms of this License, through a
publicly available network server or other readily accessible means,
then you must either (1) cause the Corresponding Source to be so
available, or (2) arrange to deprive yourself of the benefit of the
patent license for this particular work, or (3) arrange, in a manner
consistent with the requirements of this License, to extend the patent
license to downstream recipients. "Knowingly relying" means you have
actual knowledge that, but for the patent license, your conveying the
covered work in a country, or your recipient's use of the covered work
in a country, would infringe one or more identifiable patents in that
country that you have reason to believe are valid.
If, pursuant to or in connection with a single transaction or
arrangement, you convey, or propagate by procuring conveyance of, a
covered work, and grant a patent license to some of the parties
receiving the covered work authorizing them to use, propagate, modify
or convey a specific copy of the covered work, then the patent license
you grant is automatically extended to all recipients of the covered
work and works based on it.
A patent license is "discriminatory" if it does not include within
the scope of its coverage, prohibits the exercise of, or is
conditioned on the non-exercise of one or more of the rights that are
specifically granted under this License. You may not convey a covered
work if you are a party to an arrangement with a third party that is
in the business of distributing software, under which you make payment
to the third party based on the extent of your activity of conveying
the work, and under which the third party grants, to any of the
parties who would receive the covered work from you, a discriminatory
patent license (a) in connection with copies of the covered work
conveyed by you (or copies made from those copies), or (b) primarily
for and in connection with specific products or compilations that
contain the covered work, unless you entered into that arrangement,
or that patent license was granted, prior to 28 March 2007.
Nothing in this License shall be construed as excluding or limiting
any implied license or other defenses to infringement that may
otherwise be available to you under applicable patent law.
12. No Surrender of Others' Freedom.
If conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot convey a
covered work so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you may
not convey it at all. For example, if you agree to terms that obligate you
to collect a royalty for further conveying from those to whom you convey
the Program, the only way you could satisfy both those terms and this
License would be to refrain entirely from conveying the Program.
13. Use with the GNU Affero General Public License.
Notwithstanding any other provision of this License, you have
permission to link or combine any covered work with a work licensed
under version 3 of the GNU Affero General Public License into a single
combined work, and to convey the resulting work. The terms of this
License will continue to apply to the part which is the covered work,
but the special requirements of the GNU Affero General Public License,
section 13, concerning interaction through a network will apply to the
combination as such.
14. Revised Versions of this License.
The Free Software Foundation may publish revised and/or new versions of
the GNU General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the
Program specifies that a certain numbered version of the GNU General
Public License "or any later version" applies to it, you have the
option of following the terms and conditions either of that numbered
version or of any later version published by the Free Software
Foundation. If the Program does not specify a version number of the
GNU General Public License, you may choose any version ever published
by the Free Software Foundation.
If the Program specifies that a proxy can decide which future
versions of the GNU General Public License can be used, that proxy's
public statement of acceptance of a version permanently authorizes you
to choose that version for the Program.
Later license versions may give you additional or different
permissions. However, no additional obligations are imposed on any
author or copyright holder as a result of your choosing to follow a
later version.
15. Disclaimer of Warranty.
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
16. Limitation of Liability.
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
SUCH DAMAGES.
17. Interpretation of Sections 15 and 16.
If the disclaimer of warranty and limitation of liability provided
above cannot be given local legal effect according to their terms,
reviewing courts shall apply local law that most closely approximates
an absolute waiver of all civil liability in connection with the
Program, unless a warranty or assumption of liability accompanies a
copy of the Program in return for a fee.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
state the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
Copyright (C)
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 .
Also add information on how to contact you by electronic and paper mail.
If the program does terminal interaction, make it output a short
notice like this when it starts in an interactive mode:
Copyright (C)
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, your program's commands
might be different; for a GUI interface, you would use an "about box".
You should also get your employer (if you work as a programmer) or school,
if any, to sign a "copyright disclaimer" for the program, if necessary.
For more information on this, and how to apply and follow the GNU GPL, see
.
The GNU General Public License does not permit incorporating your program
into proprietary programs. If your program is a subroutine library, you
may consider it more useful to permit linking proprietary applications with
the library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License. But first, please read
.
libsigrok-0.5.0/ChangeLog 0000664 0000000 0000000 00004344521 13144346564 0015302 0 ustar 00root root 0000000 0000000 commit 1aba65727015e298f213c851dbc8d2d57d27d37b
Author: Uwe Hermann
Date: Mon Jun 12 03:08:36 2017 +0200
Doxyfile: Set version to 0.5.0.
commit 9b355aa12d760654a5977be8dbbddfa10696118b
Author: Uwe Hermann
Date: Mon Jun 12 03:03:21 2017 +0200
Bump libtool version (not package version) to 4:0:0.
The last release (0.4.0) had the libtool version (current:revision:age)
set to 3:0:0. Since this release adds, removes, and changes interfaces,
the new version is 4:0:0.
http://www.gnu.org/software/libtool/manual/libtool.html#Updating-version-info
This changes the library filename (e.g. on Linux) from libsigrok.so.3.0.0
to libsigrok.so.4.0.0, the SONAME (+symlink) becomes libsigrok.so.4.
commit 95723b1e178ff2f8f30d4d338840da4f61b3643b
Author: Uwe Hermann
Date: Sun Jun 11 19:38:23 2017 +0200
NEWS: Add list of user-visible changes so far.
commit f200d59ee21a42998752c4319d4ff48e129c95c5
Author: Uwe Hermann
Date: Mon Jun 12 02:44:28 2017 +0200
Various Doxygen fixes.
commit 567d1feae8597366582a57db82bc3c905eecb665
Author: Uwe Hermann
Date: Sun Jun 11 23:19:27 2017 +0200
Add a MIME info file (and icons) for sigrok session files.
File template by Stefan BrĂ¼ns, thanks!
This fixes bug #857.
(the XML file is moved from PulseView to libsigrok since this is not
PulseView-specific)
Add a 48x48 PNG and a scalable SVG for the MIME type as well.
Install the XML file and in the icons in the respective standard paths.
commit 6b21d9a77e58bb9586491ba17968a9edb5a8df93
Author: Uwe Hermann
Date: Sun Jun 11 23:03:09 2017 +0200
Rename sigrok-logo-notext.png to libsigrok_112x112.png.
This is more specific and prevents any potential issues e.g. when
multiple distro packages might ship with a generic file like
sigrok-logo-notext.png that's supposed to be installed in the same place.
commit 6324805018987715902422732df27bc9841b1108
Author: Uwe Hermann
Date: Thu Jun 8 23:55:58 2017 +0200
ruby bindings: Fix a compiler warning.
bindings/ruby/classes_wrap.cpp:10481:1: warning: control may reach end
of non-void function [-Wreturn-type]
commit 35334baa90dd7c68862ec25b58db0701a5802245
Author: Uwe Hermann
Date: Thu Jun 8 23:05:05 2017 +0200
Fix various -Wundefined-var-template clang warnings.
This fixes bug #915.
commit e3e1f20c7f5071fb9d1912619a899e542c5d9c71
Author: Gerhard Sittig
Date: Fri Jun 9 23:13:35 2017 +0200
C++ binding: Fixup memory leak in input module receive() calls
The Input::send() method allocated glib strings and copied input data,
but only released the glib string container and leaked the actual string
content. This led to leaks in the size of the verbatim input file, which
is especially wasteful for uncompressed textual representations.
This fixes bug #976.
commit 2355d2291925ace0bd9c85b21f2ce7e2c6606c7f
Author: Gerhard Sittig
Date: Fri Jun 9 23:10:40 2017 +0200
input/csv: Eliminate remaining memory leaks in error paths
When the processing of columns of text lines detected errors, the loop
was aborted and the routine was left, but allocated resources were not
freed. Fix the remaining memory leaks in the error code paths.
commit f027208ea7c058d482620af39be38835c045895f
Author: Gerhard Sittig
Date: Fri Jun 9 23:07:25 2017 +0200
input/csv: Fixup datafeed chunk size calculation
The constant at the top of the source file is the number of samples in a
datafeed submission chunk. The previous implementation erroneously made
it the size in bytes. There is no need to round down the buffer size
according to the unit size.
commit d05b1a860606e078eed77722d8a0c62850ee39af
Author: Gerhard Sittig
Date: Thu May 4 21:34:07 2017 +0200
output/csv: Nit, remove an unused loop iteration variable
The i variable is not used in the bottom loop in gen_header(). Remove it
to not obfuscate the purpose of the iteration.
commit cd59e6eca13632f8fc749a63fb8ccbadbb77e21b
Author: Gerhard Sittig
Date: Thu Jun 8 20:13:31 2017 +0200
input/csv: Send larger datafeed chunks, to speedup import
The previous implementation sent one sigrok session datafeed packet per
processed CSV line. This is rather inefficient for the CSV input module,
and triggers a dramatic performance loss in the srzip output format.
Communicate up to 128K samples within one datafeed packet. This fixes
bug #695.
Factor out repeated calculation of the unit size which is derived from
the channel count. Fix a minor memory leak in an error path while we are
here. (Other memory leaks in rare error paths remain with this commit.)
Suggested-By: Elias Oenal
commit de788af4108493211d2c62004bf3d2fd81ad7d67
Author: Gerhard Sittig
Date: Mon Jun 5 19:33:42 2017 +0200
input/csv: Update developer comment (fix for last EOL marker)
commit 7f4c3a622405b409e579e8344192e8daf15cb817
Author: Gerhard Sittig
Date: Mon Jun 5 19:00:23 2017 +0200
input/csv: Accept absence of last end-of-line termination sequence
On the Windows platform it appears to be popular to _not_ terminate the
very last line in a text file. Which results in an unmet constraint in
the CSV input module and an internal exception in PulseView which aborts
program execution.
Cope with the absence of the text line termination sequence at the very
end of the input stream. Keep all other checks in place, such that only
completely received text lines get processed.
This fixes bug #635.
commit 4439363aa02928098eab8dcd18b5ccb41737c882
Author: Gerhard Sittig
Date: Mon Jun 5 18:35:22 2017 +0200
input/csv: Skip leading UTF-8 BOM in the input stream
This fixes bug #756.
commit ccff468b5e1b841a0c4f0426f502b9dad23dd9be
Author: Gerhard Sittig
Date: Mon Jun 5 18:24:52 2017 +0200
input/csv: Add developer comment with TODO items
"Document" the current state of the implementation in the CSV input
module's source code. Discuss how text handling is non-trivial, which
approaches are available and how they have drawbacks.
Mention the lack of support for the import of analog data as well.
commit 241c386a4f727faa7c8379ae9212661011aa50ae
Author: Gerhard Sittig
Date: Mon Jun 5 16:41:42 2017 +0200
input/csv: Correctly skip over last processed end-of-line sequence
The CSV input module supports variable length end-of-line encodings
(either CRLF, or CR, or LF). When a bunch of accumulated text lines got
processed, do skip the corresponding number of characters after the end
of the last processed line.
This fixes one of the issues discussed in bug #635.
commit 4555d3bda00ed6f12016d4aca28bbef3cb459988
Author: Gerhard Sittig
Date: Mon Jun 5 13:37:33 2017 +0200
input/csv: Fix a false negative after successful import
The input module runs receive() and end() invocations which end up
calling process_buffer(). It's perfectly legal to call the process
routine with an empty accumulation buffer, especially when the process
routine was called from end().
This fixes a condition where PulseView raised a fatal error at the end
of a completed successful import.
Reported-By: Sergey Alirzaev
commit f9b748615488d0d0f5e07978717a53dcdf79f732
Author: Gerhard Sittig
Date: Mon Jun 5 13:34:05 2017 +0200
input/csv: Re-order processing steps (column mode vs text line split)
Move an independent test for single/multi column operation out of a code
path that checked for and then processed text lines. This commit does
not change behaviour, but prepares a subsequent commit.
commit 492dfa90255e95b143b7a0ba9c78b6e022e7b115
Author: Gerhard Sittig
Date: Mon Jun 5 13:09:16 2017 +0200
input/csv: Concentrate text line encoding in a single spot
Factor out a magic string literal which held a delimiter set yet could
be mistaken for an (assumed) fixed termination string. Concentrate the
determination of the end-of-line text encoding as well as the resulting
set of possible deliminters in one nearby location. The symbolic name
for the delimiter set eliminates the doubt on its purpose.
commit df0db9fdda408ef7623c10b8daa0019f8f206bdf
Author: Gerhard Sittig
Date: Mon Jun 5 13:02:31 2017 +0200
input/csv: Improve readability (bool expr vs assign, nested arrays)
Move variable assignments out of boolean condition checks. Factor out
repeated access to nested arrays. This shall improve readability.
commit b4698e4d617483bc0157b62b4be4153535b45701
Author: Uwe Hermann
Date: Tue Jun 6 14:41:55 2017 +0200
HACKING: Update URL to Linux kernel coding style.
commit 176d785d33a28a1bb24f2ee483595ec54f7b52b6
Author: Uwe Hermann
Date: Tue Jun 6 14:10:02 2017 +0200
Drop trailing whitespace in various files.
commit faf6dc4633a02970333a892da87ffc6bd1ee7977
Author: Uwe Hermann
Date: Tue Jun 6 12:17:44 2017 +0200
Minor cosmetics.
commit 09b2ca47e6b3d510d5a7cb64ab99fbc7a7de84a3
Author: Uwe Hermann
Date: Sat Jun 3 18:25:54 2017 +0200
uninstall: Remove empty libsigrok/libsigrokcxx include directories.
Change uninstall-local to uninstall-hook, since the latter is guaranteed
to run last (order is apparently not guaranteed for uninstall-local).
This fixes bug #861.
commit 77463bd397127b8a4e7266e601b4cdf87825beeb
Author: Soeren Apel
Date: Sat May 27 23:34:09 2017 +0200
Demo: Convert white spaces to dashes for walking one/zero pattern
commit c5d081f721a0d99e726596d4f8afe72cf803a576
Author: Soeren Apel
Date: Sat May 27 22:37:09 2017 +0200
Bindings: Provide helper method that auto-converts analog
commit 0cee3a3ea5d9808c000def569887e5f18b82df71
Author: Soeren Apel
Date: Sat May 27 16:54:53 2017 +0200
Bindings: Flesh out the analog payload bindings
commit 845060fa9ddbfae9441aa67fab4934f46f4baa05
Author: Soeren Apel
Date: Wed May 24 11:20:04 2017 +0200
Demo: Add walking one/walking zero pattern
commit eac48b34917cf19c2b5ba52ccea85ec94bb5830f
Author: Gerhard Sittig
Date: Fri May 26 21:36:35 2017 +0200
asix-sigma: Silence a compiler warning (declared but not used)
The call site which referenced the variable was conditional (disabled
trigger support) but the variable declaration was not. Fix that.
commit 2f425a56edbe528ed4566ea6791009dad61ef56d
Author: Gerhard Sittig
Date: Fri May 26 19:36:01 2017 +0200
asix-sigma: Use monotonic time not wallclock time
Switch from gettimeofday() to g_get_monotonic_time() calls.
This commit is based on work done by jry@ (but with reduced diff size).
commit 74d453abfd29f8ea5426c4400f29d30cc18e97dd
Author: Gerhard Sittig
Date: Fri May 26 03:06:39 2017 +0200
asix-sigma: Handle sample memory wrap around (circular buffer)
Handle the case when the sample data memory was filled and has wrapped
around during acquisition. Download the respective part of the data
which is reliably available, only skipping a single 1KB row which might
contain either old or new data while it's not certain which it would be.
This will be essential when triggers later become available. Right now
it copes with user requests for sample counts that exceed the total DRAM
capacity. Instead the maximum available amount of data is provided.
Of course acquisition no longer gets stopped when the end of DRAM is
reached.
commit 547c4cdc60ad5c463e37c57d82dd33111061ac86
Author: Gerhard Sittig
Date: Fri May 26 02:18:33 2017 +0200
asix-sigma: Fixup the download of the last data acquisition chunk
Correctly determine the size of a download chunk for the last DRAM row
that's involved in the recent data acquisition.
This commit is based on work done by jry@.
This addresses bug #838 (trailing garbage).
It's assumed that the previously downloaded excess data was "swallowed"
by the sample count enforcement logic that was applied earlier, so the
(remainder of the) issue could have gone unnoticed, unless some other
termination condition than sample count was used.
commit 468f17f2d673ebf250f72fa114f261b86da1aab7
Author: Gerhard Sittig
Date: Fri May 26 02:16:28 2017 +0200
asix-sigma: Comment on RLE decompression upon data retrieval
Rephrase and shorten a comment on how RLE decompression works. Drop the
part of the comment which is not related to (de-)compression.
commit 13262b48c181ae380e2029982197649cb6343b9f
Author: Gerhard Sittig
Date: Fri May 26 02:11:05 2017 +0200
asix-sigma: Remove an unused variable
commit 8256ed15c605db4f472f928dc67e9734947e0ab9
Author: Gerhard Sittig
Date: Fri May 26 01:30:42 2017 +0200
asix-sigma: Adjust clock configuration upon acquisition start
Configure the samplerate clock and channel count during acquisition
start in identical ways for 50MHz, 100MHz, and 200MHz modes.
This part was inspired by work done by jry@ yet was addressed in
different ways (no exception, do everything in every mode the same way).
Eliminate a portability issue in the previous implementation. Make sure
to send the configuration bytes in the correct order to the hardware.
Don't typecase a struct reference to a bytepointer and hope that the
internal memory representation might fit the external hardware's idea.
commit 5b1d15efb93c5e18e33432840af08e324d126ee9
Author: Gerhard Sittig
Date: Fri May 26 00:31:21 2017 +0200
asix-sigma: Document the sample memory layout
Add a comment about sample memory organization in a central spot. This
concentrates knowledge which otherwise would be spread across several
locations all over the driver's codebase, yet is essential to have at
hand during maintenance.
All of the information was determined/updated by jry@ with the help of
Ondrej at Asix when he did lots of fixes and improvements to asix-sigma.
commit 735ed8a18e958456b714004408fad3c7f7d72a4c
Author: Gerhard Sittig
Date: Thu May 25 23:43:04 2017 +0200
asix-sigma: Enforce optionally specified sample count
The Asix Sigma hardware does not support a sample count limit. Instead
this optional input parameter gets mapped to a sample time, and some
slack for hardware pipelines and compression gets added. When data
acquisition completes and sample data gets downloaded, chances are that
there is more data than requested by the user.
Do enforce the optional sample count limit. Stop sending data to the
sigrok session when the configured number of samples was sent.
This commit is based on work done by jry@.
This fixes bug #838.
commit 22f64ed88c2128ebadf09eafa3e12c8ed76cff7f
Author: Gerhard Sittig
Date: Thu May 25 22:55:00 2017 +0200
asix-sigma: Acquisition stop, symbolic identifiers for mode register fields
Enhance how the data acquisition is stopped. Wait for the hardware to
flag the successful completion of data retrieval as well as flushing
through hardware pipelines.
Use symbolic identifiers for the mode register's fields (for read as
well as write access).
This commit uses part of a code update to better match the documentation
done by jry@, but not all of it to reduce the size of the commit.
commit f06fb3e9f1fdfc3780bfa8cb06f76a2d630d6f1c
Author: Gerhard Sittig
Date: Thu May 25 22:09:54 2017 +0200
asix-sigma: Nit, separate declaration from assignment statements
Minor adjustment for improved readability. Don't hide assignments in
variable declarations. Move initialization of some variables closer to
related evaluation or subsequent processing. Break a complicated looking
roundup expression into several short steps.
commit 84a6ed1a126e0877a4166c2aa7d40f409180fdde
Author: Gerhard Sittig
Date: Thu May 25 21:57:30 2017 +0200
asix-sigma: Fix a register addressing bug (non-issue)
Fix how the READ_ID register index was passed to the hardware access.
Addresses are sent in nibbles, so shift by eight is wrong here. No harm
was done, as the register's index is zero.
commit a9016883f800c40a1866c3f0d011cdb0c256888b
Author: Gerhard Sittig
Date: Thu May 25 19:47:31 2017 +0200
asix-sigma: Only download firmware when necessary
The Asix Sigma driver is aware of three firmware images, which are
required for acquisition with up to 50MHz, 100MHz, and 200MHz. The
previous implementation always downloaded the corresponding firmware
image whenever the sample rate has changed, which was redundant.
Skip the download when the new samplerate uses the same firmware as the
previously selected samplerate did. This results in faster responses in
the GUI when the samplerate selection changes.
Move assignments out of the variable declaration block for improved
readability while we are here.
commit 85c032e48553458b43d0eb8315a7587abee4493f
Author: Gerhard Sittig
Date: Sun Apr 23 16:51:31 2017 +0200
asix-sigma: Properly decode data gathered at 100 and 200 MHz
The hardware provides captured data at a maximum rate of 16bits per 20ns
(50 MHz). For samplerates of 100 and 200 MHz one individual 16bit entity
contains multiple samples for a reduced number of channels. The bits of
several sample points are interleaved within the 16bit entity.
This commit is based on work done by jry@ who fixed a lot of issues with
the help from Ondrej at Asix.
This fixes bug #840.
commit 3281cf59aa822563e6ce2f5a21597e59327296ad
Author: Gerhard Sittig
Date: Fri May 26 01:34:55 2017 +0200
asix-sigma: Stabilize channel assignment for different samplerates
Adjust the interpretation of acquired sample data such that regardless
of 50/100/200MHz samplerate the assignment of LA pins to sigrok channels
remains stable.
commit 0498f7439fc5c205448cfdb57fec5b4361cc4fad
Author: Gerhard Sittig
Date: Sun Apr 23 14:15:57 2017 +0200
asix-sigma: Factor out access to sample data and session data
Introduce helper routines to access the sample data that is provided by
the ASIX hardware, as well as the buffer which accumulates logic data
before it gets sent to the session's datafeed.
This hides endianess issues from call sites, and prepares access to
memory layout which varies with sample frequencies.
This commit is based on work done by jry@.
commit de3f7acb4df5ff584b116b6c5f1a1eee0814ccf5
Author: Gerhard Sittig
Date: Thu May 25 19:06:36 2017 +0200
asix-sigma: Disable support for triggers, they don't work right now
This works around bug #359. Triggers currently are not operational for
Asix Sigma. Don't claim support in the driver so that UIs won't use the
feature. Yet allow research in this issue, by concentrating the switch
for the feature's support in a central location.
Add/update a comment and unobfuscate an error code path while we are here.
commit e686119cc287164b0043c44857ab4cf2faedde53
Author: Gerhard Sittig
Date: Thu May 25 13:31:46 2017 +0200
asix-sigma: Nit, remove redundant USB VID/PID declaration
Both the .c and the .h file declared the same identifiers for USB
properties of ASIX hardware with identical values. Remove the .c
incarnation and keep the .h content, as the names are used in api.c
as well as protocol.c sources.
commit 9a0a606a8215aa7fd41bb72a3653dff7ef54505b
Author: Gerhard Sittig
Date: Sun Apr 23 18:20:44 2017 +0200
asix-sigma: Improve sample time estimation, consider hardware pipeline
Introduce a separate routine which maps sample counts and sample period
to an elapsed sample time after which acquisition shall get stopped.
Add some more time to make sure the most recent captured data has passed
the hardware pipeline and is available for download.
This commit is based on work done by jry@.
commit a44b3b3f166e60e1023371f0cf47bbd68182f0bf
Author: Gerhard Sittig
Date: Sun Apr 23 13:29:51 2017 +0200
asix-sigma: Fixed RLE decoder
When "tsdiff < EVENTS_PER_CLUSTER" we don't want "tsdiff - EVENTS_PER_CLUSTER"
(a negative number) to be treated as (int).
Submitted-By: jry
[ gsi: massaged for mainline submission ]
commit 42be2adb5ab329a0b22d9df392d8eca84d5d9acf
Author: Uwe Hermann
Date: Wed May 24 20:05:03 2017 +0200
Add APIs to query libsigrok build information.
commit 9d12555fba786b0e820a530efbfb574b5ad13245
Author: Uwe Hermann
Date: Wed May 24 19:04:17 2017 +0200
serial-dmm: Use a custom dummy struct for m2110.
This DMM/parser is not related to metex14, don't use that struct.
commit decc199654728e97455f4939611578386066b63a
Author: Uwe Hermann
Date: Wed May 24 01:34:06 2017 +0200
uni-t-dmm: Fix incorrect Tenma 72-7745 list entry.
This is a regression from f05406117d67de3bd8aa5f904573bdd5d7ba401f.
commit 06f0872ea95f88a2f944f0c9b7a477a7793dfe06
Author: Uwe Hermann
Date: Wed May 24 01:29:28 2017 +0200
uni-t-dmm: Add missing special cases for some ES519xx protocols.
commit 8a68f96eaec1f3cc664d98282fa087ea95fd24b1
Author: Angus Gratton
Date: Wed Apr 12 17:26:45 2017 +1000
fx2lafw: Always enable wide sampling for dslogic firmware
Fixes regression in 8399f68a3.
Ref: https://sourceforge.net/p/sigrok/mailman/message/35780588/
Signed-off-by: Angus Gratton
commit 45fcaf2ccad796b4bc4434d81b1d0e23f11a8eae
Author: Uwe Hermann
Date: Tue May 23 07:44:42 2017 +0200
ut71x: Fix incorrect resistance values on some DMMs.
The resistance values of some DMMs were incorrectly reported due to a
missing factor of 10 in the calculations.
Tested on Voltcraft VC-920/VC-940 and Tenma 72-9380A/72-7730/72-7732.
commit 7db9027985c2d59eccb0a20979bf5d7c699c8c8b
Author: Uwe Hermann
Date: Sun May 21 18:35:21 2017 +0200
demo: Retain the default of 8 digital channels for now.
commit b1e6eec6f5f792e3b17eb8a63dd2f08ba56ff0ac
Author: Gerhard Sittig
Date: Fri May 5 23:20:43 2017 +0200
demo: support up to 128 logic channels, enable the lower 8 by default
Bump the number of supported logic channels from 8 to 128. This is
mostly motivated to test the 64 channels limit which some of the
components/subprojects of the sigrok project might have (input/output
modules, user interfaces).
Only automatically enable the first 8 of the 128 total logic channels,
i.e. default to the previous behaviour. Prepare to only enable part of
the set of analog channels, but stick with their being active by default
as well.
Factor out the choice for the default logic pattern, too. This allows
for easier adjustment of the default configuration, when settings are
concentrated in a single spot.
commit 81d53a29d6afad1e091bb765d6952ec047e0dc6a
Author: Gerhard Sittig
Date: Fri May 5 22:35:38 2017 +0200
demo: add "cable squid" logic waveform (works-with logo, many channels)
Extend the demo driver, add another waveform choice for logic channels.
Create a "cable squid" logo representation which occupies a large number
of channels.
This pattern occupies 128x128 pixels. Unlike the 'sigrok' pattern it
gets repeated when more channels are involved, but is not shifted in the
repetition.
commit 2b17aeb87453b956ff686c6393fa688adbc9e0b9
Author: Uwe Hermann
Date: Sun May 21 16:34:41 2017 +0200
ut71x: Fix float printing issue in a debug message.
Old:
ut71x: Applying exponent -12, new value is 0.000000.
P1: 1.500 nF AUTO
P1: 1.500 nF AUTO
New:
ut71x: Applying exponent -12, new value is 1.5e-09.
P1: 1.500 nF AUTO
P1: 1.500 nF AUTO
This fixes bug #700.
commit 16a1d50a6372725c6b4f5b76175f62a64366bfa0
Author: Soeren Apel
Date: Sun May 21 17:10:38 2017 +0200
Virtual session: Workaround for SR_CONF_CAPTUREFILE (#944)
This is a (hopefully temporary) workaround for the
SR_CONF_CAPTUREFILE mechanism. The value for
vdev->capturefile is set by this, however only once
via stream_session_data().
During stream processing in stream_session_data(),
capturefile may receive new values - e.g. when there
are multiple logic files or if there is analog data.
With that, the initially set capturefile is overwritten.
When re-loading the file, we are then running into
issues because we don't know what the initial value was.
As all .sr files use "logic-1" by default and, we
simulate the behavior of stream_session_data() and
assign this name to capturefile if there are logic
channels present.
With this change, all three kinds of files reload
as expected: logic only, analog only and mixed signal.
For this reason, it's a short-term fix for #944.
commit 6fb5570b15a5566b9b3dc8814c728ed9edf4d828
Author: Soeren Apel
Date: Sun May 21 09:20:42 2017 +0200
Virtual session: rename num_channels to num_logic_channels
commit 64f628bf8a7b94073de14e34d70a2b23c955f1b0
Author: Uwe Hermann
Date: Wed May 17 01:07:56 2017 +0200
hantek-6xxx: Only list DC coupling once.
Avoid incorrect indexing and the follow-up segfault.
This fixes bug #822.
commit 01dd7a4cc769d3e683cb29c5cf791e9c61034f31
Author: Martin Ling
Date: Wed May 17 00:04:07 2017 +0100
rigol-ds: Handle digital channels correctly for MSO2000A series.
The handling of the digital channels for this series is somewhere
between that of the DS1000D series (PROTOCOL_V2) and the MSO1000Z
(PROTOCOL_V4).
The :LA command set is similar to that of V4, but the LA data has to be
requested with :WAV:SOUR:LA and arrives in interleaved form like V2.
None of these changes should affect other models. They only affect the
case of PROTOCOL_V3 with digital channels, which occurs only for the
MSO2000A series.
commit 364b09c2a936fd7e98a879c3532fcd2fee4c1e0a
Author: Uwe Hermann
Date: Tue May 16 22:23:24 2017 +0200
hantek-6xxx: Fix coupling selection.
Due to an uninitialized variable, switching to/from AC/DC coupling
(on models that support this) was not working.
This fixes bug #836.
commit 09f24ef2a98d430717929f0476843d3f788ff36a
Author: Martin Ling
Date: Mon May 15 16:16:00 2017 +0100
rigol-ds: Add model entries for MSO2000A series.
This should be sufficient to fully support these models, unless there
are protocol differences for the digital channels.
This fixes bug #778.
commit 10892c5b8aa54bee29e908ab457180ca8cdb1011
Author: Wolfram Sang
Date: Thu May 11 13:51:10 2017 +0200
output/csv: get proper index for input channels
'j' is the loop variable for channels, not 'ch'.
This fixes parts of bug #844.
Signed-off-by: Wolfram Sang
commit 7e7d7bc074fd92d54c2851ad64ed443fdd58fc28
Author: Wolfram Sang
Date: Thu May 11 13:51:09 2017 +0200
output/csv: fix a minor leak
Signed-off-by: Wolfram Sang
commit d3cc09a612a6f8f2bf258bbd33a7dfd2c3a30968
Author: Wolfram Sang
Date: Thu May 11 13:51:08 2017 +0200
output/csv: fix segfault with logic channels
'i' was iterating in steps of unitsize. However, the destination array
was also indexed with it, but it is of u8 type. Let 'i' run bytewise and
only multiply with unitsize when we need it.
This fixes parts of bug #844.
Signed-off-by: Wolfram Sang
commit 6a235225b3817d45c3d4d1b9ce2c4928c1472256
Author: Wolfram Sang
Date: Thu May 11 13:51:07 2017 +0200
output/csv: fix segfault when naming logic channels
'j' is the loop variable for channels, not 'i'.
This fixes parts of bug #844.
Reported-by: Maxim Sloyko
Signed-off-by: Wolfram Sang
commit 8005151b8783b002f5e07aa9e4e077ea6aed1688
Author: Uwe Hermann
Date: Sat Mar 18 20:55:20 2017 +0100
output/csv: Fix a compiler warning.
src/output/csv.c: In function 'dump_saved_values':
src/output/csv.c:461:6: warning: format '%lu' expects argument of
type 'long unsigned int', but argument 3 has type 'uint64_t' [-Wformat=]
ctx->sample_time, ctx->value);
^
commit ef7fb1abffad411c1bf20099228e4d23db402a81
Author: Martin Ling
Date: Wed May 10 00:33:58 2017 +0100
rigol-ds: Send *OPC? after commands that don't return a value.
Fixes #933.
We'd already had this problem elsewhere and thus have this wrapper function
that does this where necessary. It just wasn't in use on these two call sites,
which was causing timing problems when used over tcp-raw or VXI transports.
commit bf8a02b63339ac48271ec0c8d4d554e4435b2a44
Author: Johannes Römer
Date: Sun May 7 17:21:47 2017 +0200
hameg-hmo: Add support for Hameg HMO3524
commit adee480c020cf37072f590d4348a737d892e70a6
Author: Gerhard Sittig
Date: Sun Apr 16 16:47:03 2017 +0200
output/vcd: minor nit, remove unused variable
commit fe3004f5a08d84a0fe9401c49970a06ddab04a20
Author: Gerhard Sittig
Date: Sun Apr 16 17:17:27 2017 +0200
minor nit, fixup whitespace in libsigrok.h
commit b7939d7cac2fa51c5d9ba84c7ea7aee85f8395d6
Author: Soeren Apel
Date: Thu May 4 18:40:39 2017 +0200
De-init vdev->capturefile when done
Without doing this, re-reading the input file
results in a segfault as the internal state
machine becomes confused.
commit b853eb76fbee3c03d64c03b1cb8af0585684dfcf
Author: Gwenhael Goavec-Merou
Date: Sun Apr 30 15:57:40 2017 +0200
openbench-logic-sniffer: fix acquisition restart with trigger enabled
With trigger enabled, and with PulseView, a second (or more) acquisition
starts immediately instead of blocking. It's mandatory to try several times
to have a correct behavior.
According to http://mygizmos.org/ols/Logic-Sniffer-FPGA-Spec.pdf section 2.3.1
p.8, the Openbench Logic Sniffer must be reset before each arm command.
This fixes bug #809.
Signed-off-by: Gwenhael Goavec-Merou
commit 244995a2e3cef0f971e21faf82531e785e552f9e
Author: Gwenhael Goavec-Merou
Date: Sun Apr 30 15:57:39 2017 +0200
openbench-logic-sniffer: add a function to handle reset command
Openbench Logic Sniffer reset is a little more complex than a simple send.
To avoid code duplication, this patch adds a new function dedicated to
this task.
Signed-off-by: Gwenhael Goavec-Merou
commit 07d4e86316cad233abe1d5890cd56de35e69618f
Author: Uwe Hermann
Date: Fri Mar 31 19:47:18 2017 +0200
README: Fix incorrect gcc/clang minimum versions.
https://gcc.gnu.org/projects/cxx-status.html#cxx11
https://clang.llvm.org/cxx_status.html
commit 81eb36d640b364bf955fd26b2a3987c56e0a720f
Author: Marc Schink
Date: Wed Mar 29 18:33:36 2017 +0200
scpi-pps: Add initial support for R&S HMC8043
commit 3474ec2361148729736c0a104d03330eff21970e
Author: Uwe Hermann
Date: Mon Mar 27 08:55:17 2017 +0200
contrib/z60_libsigrok.rules: Use 660 permissions.
It doesn't really make sense to allow anyone to read (but not write)
USB devices.
This fixes parts of bug #665.
commit 68fefbd75c6fd7a27b96c7a979870547fb7ad5ff
Author: Karl Palsson
Date: Wed Mar 1 21:11:57 2017 +0000
contrib/udev: add note on required name for systemd
Systemd needs the file to be numbered the right way, document this
properly.
See also:
https://lists.debian.org/debian-devel-announce/2016/11/msg00008.html
http://openocd.zylin.com/2804
This fixes parts of bug #665.
Signed-off-by: Karl Palsson
commit 7a977433368f5d06b584bd7eb80456dabd00359a
Author: Karl Palsson
Date: Wed Mar 1 21:09:35 2017 +0000
contrib/udev: add TAG+="uaccess" for systemd
Instead of replacing the group=plugdev, simply add the TAG as well.
This allows (in most cases) the same file to be used happily on systemd
and older group based systems. Some systems may produce warnings about
non-existant groups, but it remains functional. Approach inspired by
that taken by the OpenOCD project.
This fixes parts of bug #665.
Signed-off-by: Karl Palsson
commit 40bbf635fadac32d1e702f02fe571d95338d582b
Author: Bert Vermeulen
Date: Tue Mar 21 20:45:46 2017 +0100
uni-t-ut32x: Accept SR_CONF_CONN, fixing scan.
commit df3e608a20620836ecad6d8d4dc6c0b27b1658a8
Author: Uwe Hermann
Date: Thu Mar 16 23:59:58 2017 +0100
session_driver.c: Increase chunk size for slightly better performance.
Increasing the chunk size from 512ksamples to 4Msamples leads to
slightly faster session file loading from sigrok session (*.sr) files
in frontends, while not looking too "chunky".
The performance increase is not really massive, but still noticeable.
A further increase to, say, 10 or 100Msamples shows no further
noticeable improvements.
commit f9592d65e9759b9a37c51a090c3504d4328ba4d4
Author: Uwe Hermann
Date: Wed Mar 15 02:31:09 2017 +0100
fx2lafw: Only sample/send analog data if analog channels are enabled.
commit 5db45cc55d9155f1def688f27ac7ebfd3d7f0069
Author: Uwe Hermann
Date: Wed Mar 15 01:45:27 2017 +0100
fx2lafw: Drop unused devc->ch_enabled.
commit 8399f68a3ff44e72b2267d43aaba677b0dbd48b4
Author: Jan Losinski
Date: Thu Jan 12 04:45:08 2017 +0100
fx2lafw: Use wide_sampling only if necessary.
This changes the fx2lafw code to only enable the wide_sampling (16bit)
method, if at least one of the higher eight channels is enabled. This
has the benefit, that we can use higher samplerates on 16bit LA
devices if we use only the first eight channels.
The wide sampling is also enabled if we have one or more analog
channels.
Signed-off-by: Jan Losinski
commit b6be55ce95b8d4d00d64874a05c022846e43cec4
Author: Sven Schnelle
Date: Mon Feb 13 18:48:52 2017 +0100
SCPI: add sr_scpi_write_data()
Can be used to send raw data on a SCPI connection.
Signed-off-by: Sven Schnelle
commit 9a512113ca0cfb34e8a12c678573e3687590ab41
Author: Uwe Hermann
Date: Fri Mar 10 07:37:05 2017 +0100
Fix obsolete code comments.
"Probe groups" are called "channel groups" now.
commit 815685462fdab21a390b5aecc253b92753439f06
Author: Uwe Hermann
Date: Wed Mar 8 19:47:54 2017 +0100
sr_scpi_free(): Allow NULL as argument.
commit 7b365c47198890da8541a6daf04697c7c7ac88d4
Author: Uwe Hermann
Date: Wed Mar 8 19:45:23 2017 +0100
sr_scpi_hw_info_free(): Allow NULL as argument.
commit ce375f2a396c4735a12e9105595d7c9f1a366abb
Author: Uwe Hermann
Date: Wed Mar 8 19:33:18 2017 +0100
sr_usbtmc_dev_inst_free(): Allow NULL as argument.
commit 5801ce7840c72775fbcfaf39e0587f767f070efd
Author: Uwe Hermann
Date: Wed Mar 8 19:31:22 2017 +0100
sr_usb_dev_inst_new(): Allow NULL as argument.
(documentation fix, the function always handled NULL fine)
commit 04891a997c137abb5fa423e7de7f5b9a0fd27a49
Author: Uwe Hermann
Date: Wed Mar 8 19:27:25 2017 +0100
sr_serial_dev_inst_free(): Allow NULL as argument.
commit 4bf93988023b2428129c8145ef9ea7121400f195
Author: Uwe Hermann
Date: Wed Mar 8 19:18:17 2017 +0100
sr_dev_inst_free(): Allow NULL as argument.
commit 8662130615d7a59883c303914f94377032101cb9
Author: Uwe Hermann
Date: Tue Mar 7 22:39:47 2017 +0100
scope drivers: More consistent config key ordering.
commit d73aacf12a523e332749c0d4a4c4bf4395fcdb03
Author: Soeren Apel
Date: Sun Feb 26 21:07:46 2017 +0100
rigol-ds: Fix capabilities listing in config_list()
commit 90230cfa7f7ae62b21169fa2156f54e2902e7ad1
Author: Soeren Apel
Date: Sun Feb 26 21:01:26 2017 +0100
lecroy-xstream: Fix capabilities listing in config_list()
This fixes bug #913.
commit 9a17c23bc9810206eae7741bc4b35bc4d78999d3
Author: Uwe Hermann
Date: Wed Mar 8 01:10:19 2017 +0100
Fix sr_period_string() Doxygen comments.
commit 6984cfb245811df0f691928a6e4224d4f7ac5786
Author: Soeren Apel
Date: Sat Feb 25 22:19:42 2017 +0100
Rework sr_period_string
commit ae87e02fad06324de80c24997fc8589780ba3b03
Author: Matthieu Guillaumin
Date: Sat Dec 3 20:33:32 2016 +0100
pce-322a: Adding support for reading memory from PCE-322A SPL
commit f5066b2b610b88e7331c4c0d951a94ea4c999b65
Author: Uwe Hermann
Date: Sun Mar 5 16:38:48 2017 +0100
configure summary: Show linker flags.
commit 54d8d22a931a1eae99c3a197c32fc8d42b2e9f5b
Author: Uwe Hermann
Date: Sat Mar 4 18:20:38 2017 +0100
configure summary: Show whether shared/static build is enabled.
commit 6d13a46ce0a1483fffb342239ca1b10fa354fca2
Author: Uwe Hermann
Date: Thu Mar 2 20:30:23 2017 +0100
lecroy-xstream: Drop some unneeded "lecroy_" prefixes.
For the time being this driver only handles LeCroy devices, so those
prefixes are not needed.
commit b295fa5190b5c75d37d66de84a0884e46a23d78e
Author: Uwe Hermann
Date: Thu Mar 2 20:20:19 2017 +0100
lecroy-xstream: Drop prototypes for non-existing functions.
commit ea257cdc23d0489fd589d0f17e3838db28189a79
Author: Uwe Hermann
Date: Thu Mar 2 20:05:52 2017 +0100
lecroy-xstream: Minor whitespace and consistency fixes.
commit 9de47e9e712844f46f693915d405a89846e61084
Author: Soeren Apel
Date: Sat Feb 25 18:41:47 2017 +0100
lecroy-xstream: Use sr_period_string()
commit 7002e64a54a5f8586f96f12a41005f8f8f60b2a6
Author: Soeren Apel
Date: Sat Feb 25 17:49:19 2017 +0100
lecroy-xstream: Fix compiler warnings
commit d0b913eac47d8a1dc38ce84315b57f896bcf8c82
Author: Soeren Apel
Date: Sat Feb 25 17:46:00 2017 +0100
lecroy-xstream: Don't send custom SCPI command to the probed device
commit bb08570f1ad4a6c2a89c8e9afb73f8be08f5a663
Author: Soeren Apel
Date: Mon Feb 27 10:44:33 2017 +0100
lecroy-xstream: Change human-readable name
commit 3f2c7c94a1333a0b30f8461b4f6c0069bbcbecdd
Author: Sven Schnelle
Date: Sun Feb 12 20:18:16 2017 +0100
lecroy-xstream: Add the actual driver implementation
Signed-off-by: Sven Schnelle
commit e3b83c5ec3bff62c7b6e13954f2a654139874aa5
Author: Sven Schnelle
Date: Sun Feb 12 20:18:15 2017 +0100
lecroy-xstream: Initial driver skeleton.
Signed-off-by: Sven Schnelle
commit 0d9841ddd6ef917258d95a50d753d80a23fabb90
Author: Uwe Hermann
Date: Thu Mar 2 14:38:19 2017 +0100
rohde-schwarz-sme-0x: Add support for SR_CONF_SIGNAL_GENERATOR.
commit 6928c4a9289368573f44b683a464bf6b8dcc71d7
Author: Uwe Hermann
Date: Thu Mar 2 14:35:17 2017 +0100
Add SR_CONF_SIGNAL_GENERATOR.
commit d7056eead2f2da08c758ac9c4055e032a4351c2f
Author: Uwe Hermann
Date: Thu Mar 2 14:25:27 2017 +0100
rohde-schwarz-sme-0x: Drop prototypes for non-existing functions.
commit ed1fae0bb3bb6e25c700eeb479ffc5e32db99f14
Author: Uwe Hermann
Date: Thu Mar 2 14:23:07 2017 +0100
rohde-schwarz-sme-0x: Minor whitespace and consistency fixes.
commit 9e50659470cb7a34fddeaf27a73a07e5f15e933d
Author: Soeren Apel
Date: Thu Feb 23 17:33:47 2017 +0100
rohde-schwarz-sme-0x: Coding style fixes
commit a28b3df111ce6b942d0904b7647b959a48f2b479
Author: Vlad Ivanov
Date: Thu Oct 27 09:22:55 2016 -0400
rohde-schwarz-sme-0x: Initial device support
Signed-off-by: Vlad Ivanov
commit 97c2710b2c985132ed6a28caf9741ccbcfb23491
Author: Uwe Hermann
Date: Sun Feb 26 15:43:35 2017 +0100
hwdriver: Drop unneeded debug message.
The logs already show scan attempts per-driver, no need to also log the
init per-driver, since that's always happening and cannot (normally) fail.
commit 6ca578feb8a0b5b0cc689c97dd1307935bf0a817
Author: Sven Schnelle
Date: Sat Feb 11 20:16:59 2017 +0100
Fix analog output display
I've seen the following output from sigrok-cli:
CH1: 478.720 mV
CH1: -514 mV
CH1: -0 V
I added some debug, and it seems like the digits value isn't reset
to the actual value after calling sr_analog_si_prefix_friendly():
using 6 digits
value2 0.478720 digits 6
value2 -0.513536 digits 3
value2 -0.487424 digits 0
This commit fixes this by resetting the value to the actual value before.
Signed-off-by: Sven Schnelle
commit 471ac344a5885c73f58cbcd0d0c87f416926afc2
Author: Sven Schnelle
Date: Tue Feb 14 23:30:13 2017 +0100
Fix initial sample value for demo driver
devc->step is not reset on acquistion start, so acquisition
starts with a different value every time. Thats annoying when
using the demo driver to debug sigrok, so lets make sure that
it's reset to 0.
Signed-off-by: Sven Schnelle
commit b020b81b24bf6987cccffc3ea84049e66b9ccdb3
Author: Marcus Comstedt
Date: Wed Feb 1 18:50:26 2017 +0100
Build: fix #865 yet again
It appears that the symmetry changes of setting CC and CFLAGS correctly
for C code compilation in commit 104f02f broke things for people using
some other version of setuptools which uses those vars instead of
CXX and CXXFLAGS when compiling C++ code. In order to make this work
everywhere, set _both_ sets of variables as required for C++ compilation.
No C code is compiled by the python binding module anyway.
commit 1d82f9ade3f1a38991b9be629ed1c1ef7eebac43
Author: Uwe Hermann
Date: Fri Jan 27 01:14:02 2017 +0100
README.devices: Update hantek-6xxx entry.
commit efcdec00b7976cfabe20d8aad48153987dc6c774
Author: Uwe Hermann
Date: Fri Jan 27 01:11:50 2017 +0100
z60_libsigrok.rules: Add Hantek 6022BL.
commit 759f2ef76265fd3667a365527188e9e15e644819
Author: Sebastian Tabares Amaya
Date: Tue Dec 27 22:41:17 2016 -0500
Add support for Hantek 6022BL
commit 0ceb70381b02336d8e8130e2a701df4ce944b13a
Author: Aurelien Jacobs
Date: Mon Jan 16 11:53:11 2017 +0100
agilent-dmm: Add support for U124xC.
commit 1af3f40eec5042ec3b22dc8c5e61ec8e291531d5
Author: Aurelien Jacobs
Date: Mon Jan 16 11:47:42 2017 +0100
agilent_dmm: Split generic part of recv_log_u128x() to recv_log().
commit 29bdeeb54937cdfd3adaef98d6acee510cb91a47
Author: Aurelien Jacobs
Date: Tue Jan 17 23:42:18 2017 +0100
agilent-dmm: Add support for Vsense (Non-Contact Voltage).
commit c2e3c322e6427986208aef3df414dfc1e936552f
Author: Aurelien Jacobs
Date: Wed Jan 18 00:54:29 2017 +0100
agilent-dmm: Fix handling of the 2nd channel of 2 channels models.
The 2nd channel of those models is not limited to temperature,
so it is necessary to query CONF? @2.
commit 4fdedbbb3a5f0caf2765bade0d109b6f917f5f41
Author: Aurelien Jacobs
Date: Mon Jan 16 11:45:20 2017 +0100
agilent-dmm: Set correct length in strncmp().
commit 841aadc95b918fd883d36c6c8555f8cb0e3cd049
Author: Aurelien Jacobs
Date: Mon Jan 16 11:44:22 2017 +0100
libsigrok.h: Add SR_MQ_HARMONIC_RATIO.
commit 35bb2fcef95d23bda27c5b3ec3a014d4e1c22713
Author: Uwe Hermann
Date: Sat Jan 21 15:17:35 2017 +0100
scpi_serial: Convert 'got_newline' variable to gboolean.
commit d64be25be4b315bceb7f6d87b1c414a3c94c31c5
Author: Stefan BrĂ¼ns
Date: Fri Jan 13 23:10:41 2017 +0100
scpi: Do not block when reading header of definite length blocks
When using SCPI over serial (over USB), we want the header without waiting
for the terminating newline, as otherwise the transfer may time out.
sr_scpi_get_data() will block until the message is complete.
commit 9ea4018f2f7c3bac99f738334ebd57b1e6ae0a2c
Author: Stefan BrĂ¼ns
Date: Sun Jan 8 18:32:05 2017 +0100
scpi_serial: Get rid of intermediate buffer, do not strip newline
Lowlevel access functions should not alter the data. sr_scpi_get_string(),
which is called by most highlevel access functions, strips newlines
in a central place, and is only fed with data which contains newlines
as a final terminator.
IEEE 488.2 definite length blocks may contain arbitrary data, thus the
payload up to the provided length should be passed unaltered.
Track if the last received character is a newline, which can be used
by sr_scpi_get_string() and its callers to determine if the response
is complete.
commit 37ef582d088190ffcf5f8a649ca622cfc52f289a
Author: Stefan BrĂ¼ns
Date: Thu Jan 12 01:20:17 2017 +0100
scpi: Query current time just once, use microseconds for timeout
g_get_monotonic_time() returns current time in microseconds, use the same
granularity for storing the read timeout.
There is also no need to check the timeout if data has just been read.
commit 59b9c3290aef7dfdc58afd0a4db8b347e0878c91
Author: Stefan BrĂ¼ns
Date: Sat Jan 14 20:56:08 2017 +0100
yokogawa-dlm: Mostly fix dumping of current timebase
sr_period_string takes the frequency as its argument, i.e. the reciprocal
of the timebase. Obviously this will not work for frequencies less than
1Hz / timebases greater than 1 second, but at least is correct for all
other available timebases.
commit d8b65ef66112f2c5dccdbe668b05e6856c00ac3d
Author: Stefan BrĂ¼ns
Date: Thu Jan 12 00:29:03 2017 +0100
hameg_hmo: Mostly fix dumping of current timebase
sr_period_string takes the frequency as its argument, i.e. the reciprocal
of the timebase. Obviously this will not work for frequencies less than
1Hz / timebases greater than 1 second, but at least is correct for all
other available timebases.
commit 5223412ebe3cadaab0e9b2a65e591b7cf575c404
Author: Stefan BrĂ¼ns
Date: Sat Jan 14 20:50:12 2017 +0100
tests/strutil: Check output of sr_period_string
commit a547531bf1be0d263a76c1ce53605d70d9a9740b
Author: Stefan BrĂ¼ns
Date: Sat Jan 14 20:48:08 2017 +0100
strutil: Fix sr_period_string output
The output was wrong for all frequencies but 1 Hz, 1 kHz, 1 MHz and 1 GHz.
With this changes, the output may still be off due to rounding, but will
be correct as to the shown accuracy.
commit 900846816fed39742b221568939f90acebc38f3c
Author: Gerhard Sittig
Date: Fri Dec 30 13:16:04 2016 +0100
scpi: Don't process received data of zero length
When nothing was received in a read attempt, we need not adjust the
buffered data's read position nor the glib string object's size. Skip
any processing for empty input, just keep checking for timeouts.
commit ad21865fa7bb8bc429615235e90e012541d2b606
Author: Gerhard Sittig
Date: Sat Jan 7 13:08:12 2017 +0100
scpi: Rephrase buffer resize for free space during SCPI read, add comments
Routine sr_scpi_get_data() checks for free space in the receive buffer,
and resizes the buffer when free space drops below a threshold. The
previous logic assumed that the resize and the read logic would interact
in some specific way to achieve the desired operation.
Adjust the buffer resize such that more free space is pre-allocated, yet
the payload size of the buffer is not affected. This eliminates the
dependency of the optional resize logic from subsequent activity for
reception of data that is non-optional.
Add comments while we are here, outline the steps taken in the
sr_scpi_get_data() routine.
commit 4889acefb2178f0c7f52ff9d97aa50d2b5607aa6
Author: Gerhard Sittig
Date: Fri Jan 6 22:00:28 2017 +0100
hameg-hmo: Rephrase the channel constraints check (analog vs digital)
Phrase the logic which checks the use of analog channels and digital
pods in more generic terms. Place a comment about the contraints' being
potentially dependent on the specific HMO model. This implementation
should lend itself better to future adjustment (HMO1002?).
commit e06875b2ce47e128922d63f09ca4e9b3d8105722
Author: Gerhard Sittig
Date: Fri Jan 6 20:53:50 2017 +0100
hameg-hmo: Map logic data from second digital pod to channels D8-D15
An internal libsigrok implementation detail prevents partial submission
of logic data for different channel groups in multiple calls. Instead
one logic packet needs to be sent in a single call, which combines data
for all channels.
Introduce a logic data storage which folds samples from several channel
groups that were received at different points in time into a combined
memory layout of larger unitsize. Stick with the former shortcut of
passing on the input bytes directly when only the first digital pod is
used during acquisition.
This change correctly maps data from the second pod to channels D8-D15.
commit 1b0f62df2294af7f4fa9b8ecaed76a5658802095
Author: Gerhard Sittig
Date: Fri Jan 6 18:56:40 2017 +0100
hameg-hmo: Do read from second digital pod during acquisition
The previous implementation only added one of the digital channels to
the list of enabled channels that are involved in the acquisition (the
first one that was found). This means that when the set of used digital
channels spans more than one pod/group, the second pod will never be
read from.
Make sure to enable one digital channel per pod/group, such that
acquisition will retrieve data from all involved input sources.
Add comments while we are here. Mention how the different setup, check,
start, and receive routines which are spread across several files do
interact to achieve acquisition.
commit b23eb1d4d13d5ccf23303bf0bd378504f84de580
Author: Gerhard Sittig
Date: Fri Jan 6 18:12:55 2017 +0100
hameg-hmo: Send exactly one sigrok frame per scope frame
The previous implementation used to put FRAME_BEGIN and FRAME_END
markers around each received chunk of samples, while those chunks
correspond to a single channel (analog) or a group of eight channels
(digital) each. In other words, the hameg-hmo driver had provided a
multiple of the requested frames, and those frames were incomplete.
Make sure to only send FRAME_BEGIN before the first channel's data,
and FRAME_END after the last channel's data of a frame. Thus make
sigrok frames exactly match the scope's frames.
Add some comments on the frame marker and the acquisition stop logic
while we are here.
commit 65a6794ea1fef5064e7d47403a7bbbed76c3058b
Author: Gerhard Sittig
Date: Fri Dec 30 23:46:27 2016 +0100
hameg-hmo: Use the host's endianess to read analog channel data via SCPI
Configure the scope to the host's native endianess before downloading
acquisition data from analog channels. This unbreaks operation on those
models which default to a representation which differs from the host.
commit d1ad8b10bc9a928cb7b636bcf206ea59736a8658
Author: Gerhard Sittig
Date: Sat Jan 7 21:15:00 2017 +0100
Revert "hameg-hmo: Support BE format for SCPI sample downloads"
Undo the change which queries the scope's endianess and has the floats
converted after reception. An alternative implementation will perform
better.
commit d5a61aaf2d634c4558bda225e64e720104a0203f
Author: Gerhard Sittig
Date: Sat Jan 7 21:16:33 2017 +0100
Revert "scpi: Don't process received data of zero length"
Undo the change which skips management activities when no data was
received. This change breaks the current implementation, and needs to
get deferred until a delicate interaction between the resize and the
read logic has been eliminated.
commit 2ea1fdf12113311cbe1a4316e9e2efe4d8ac40f0
Author: Gerhard Sittig
Date: Thu Oct 20 09:57:25 2016 +0200
license: remove FSF postal address from boiler plate license text
Remove the FSF postal address as it might change (it did in the past).
Reference the gnu.org website instead which is more stable.
commit 661aa24aa6f6715b615a566082c16fa643ebf955
Author: Gerhard Sittig
Date: Sat Dec 31 14:25:07 2016 +0100
asyc-ii: Rephrase "exponent" logic when parsing packets
Replace a C library strcspn(3) call with the more portable glib
g_strstr_len(3) routine. This is possible since a single separator
is searched for, no actual "set of characters" is involved.
As a byproduct, this eliminates a "late" reference to 'cnt' at the
bottom of the routine, after the value was assigned in a rather distant
location at the top of the routine. The cost of strlen() should be
acceptable for a buffer with a single digit total length.
commit 43528280d9727872ede857bb3b6772947d9fb056
Author: Gerhard Sittig
Date: Sat Dec 31 12:54:39 2016 +0100
asyc-ii: Prefer more portable and common string routines
Replace C language string operations with their glib incarnations for
improved portability. Prefer a common sigrok float conversion routine
over a DIY implementation.
commit c2debda60dd729e77ba89e1d3f370ebcc62811f1
Author: Gerhard Sittig
Date: Sat Dec 31 12:48:59 2016 +0100
asyc-ii: Unobfuscate a comment on packet parse constraints
The specific packet layout puts constraints on the parse logic (case
sensitive comparison, order of comparison). Fix a comment that made no
sense before, and better reflect that there are two constraints.
commit 26e8c6a2b2a4523d00c5f462598074faacb086f3
Author: Gerhard Sittig
Date: Fri Dec 30 13:27:29 2016 +0100
scpi: Rephrase length logic in data block reception, comment/group code
Slightly rephrase the SCPI code which parses the responses that carry
(binary) data blocks. Be explicit about NUL termination when parsing the
leading length spec in the response, obsoleting the array initializer.
Add lots of comments and group source code lines to better reflect
what's happening from the protocol's perspective.
Fix the returned error code in the path which reads responses of
excessive length in chunks. The previous implementation detected errors
but always returned code 0 (success).
commit 904401e8fe8175252d68fcf6e0c0edae902c1c17
Author: Gerhard Sittig
Date: Fri Dec 30 13:16:04 2016 +0100
scpi: Don't process received data of zero length
When nothing was received in a read attempt, we need not adjust the
buffered data's read position nor the glib string object's size. Skip
any processing for empty input, just keep checking for timeouts.
commit d3de86f3ca50a55773c6974f0c336e942030b0bd
Author: Gerhard Sittig
Date: Fri Dec 30 13:11:59 2016 +0100
scpi: Minor style nits
Drop an initial assignment to a variable which never takes effect.
Add braces around the body of a more complex if block. Separate routines
from each other by exactly one empty line.
commit d431e4ec28d5d168bc0d98d5545a585b89d52e8d
Author: Gerhard Sittig
Date: Fri Dec 30 23:46:27 2016 +0100
hameg-hmo: Support BE format for SCPI sample downloads
When the channel state is retrieved, query the pre-set byteorder for
SCPI data blocks as well. When samples get retrieved during capture,
support float representations in either big or little endian format.
This commit unbreaks devices which operate in BE format by default
(tested with HMO2524). It keeps working with LE format as before. For
devices which don't support the byteorder query or return unknown
responses, LE format is assumed for backwards compatibility. The
device's byteorder is only queried and never set. This makes the
commit least intrusive.
commit 74413fafb4846ad1c9f99677f58616db6b7eefcd
Author: Gerhard Sittig
Date: Sun Nov 6 12:30:09 2016 +0100
hameg-hmo: Declare support for 2 pods / 16 channels on HMO2524 and above
A comment mentioned that the models HMO2524 and above support 16 digital
channels (and thus have two pods for the probes). Move those models to a
section that declares the respective features, including trigger support
on the upper digital channels.
Model detection and reflection of supported channels was tested on HMO2524.
commit 40a75c8e9732992e80e055c995edd73f1ff07f2a
Author: Gerhard Sittig
Date: Sun Nov 6 12:08:02 2016 +0100
hameg-hmo: Release enabled channels when acquisition start fails
Commit db81fbb58261 made sure to release a potentially previously
allocated list of enabled channels before (re-)building the list in the
current invocation of acquisition start.
This commit frees the memory in the error path near the failed creation
already, which reduces the period of time where unused resources are
held, and eliminates a memory leak when acquisition is not stopped after
failed start.
Both approaches can coexist. Freeing an empty list is perfectly fine.
commit 2d224dbae735e5d3ea39cbafcd6d280cbd112c31
Author: Gerhard Sittig
Date: Sun Nov 6 11:51:08 2016 +0100
hameg-hmo: Fix index access for models with 2 pods / 16 digital channels
Fix the code which registers the name of the second pod for digital
probes. The previous implementation registered the first pod twice, and
lost the reference to the second pod. No harm was done, none of the
supported models declared support for two pods so far.
Factor out a channel to group mapping in the registration of digital
channels, while we are here.
commit f05903ebe387fde85a9d623225268346cc25fd60
Author: Gerhard Sittig
Date: Mon Dec 26 13:14:26 2016 +0100
serial-lcr: update README.devices (firmware upload, comm port specs)
Catch up with the rename of deree-de5000 to serial-lcr. Put an item in
the "needs a comm port spec" section, too.
commit 503220ec8d00a8a351a2c1bc659d42132a40f64a
Author: Gerhard Sittig
Date: Mon Dec 26 13:12:35 2016 +0100
deree-de5000: rename to serial-lcr, update configure logic
The former DER EE DE-5000 driver was a very thin wrapper around the
ES51919 LCR meter chipset. None of its source was specific to the
deree-de5000 device. In fact it contained code for all currently
supported LCR meters, and it's expected that all LCR meters which
will get added in the future will fit in as well.
Follow the serial-dmm model. Rename the src/hardware/deree-de5000/
directory to serial-lcr/. Update the configure logic. Although the
source directory and the configure option are named serial-lcr, the
LCR meter still is used by specifying the "deree-de5000" device driver
(which just happens to reside in the serial-lcr driver sources, among
others).
commit 8626feaeb57aa50d68293f1706593fa8269a3b2e
Author: Uwe Hermann
Date: Tue Dec 20 17:47:59 2016 +0100
HACKING: Improve description of Doxygen conventions.
commit dc5895cbdd1e2656ce73f9f0a8ed87e696dfe16a
Author: Gerhard Sittig
Date: Mon Nov 28 01:23:38 2016 +0100
serial-dmm: add DMM entry for Metrix MX56C (ASYC-II based)
commit 4ba4d52a8f9c66f6b941a545e17c684e65356aff
Author: Gerhard Sittig
Date: Mon Nov 28 01:01:15 2016 +0100
dmm: introduce support for ASYC-II 16-byte protocol in PRINT mode
Introduce an asycii.c source file (modelled after metex14.c) which
implements support for the 16-byte protocol of the ASYC-II multimeter
chipset (RX only, when the PRINT button was pressed).
commit 6c62c605f950a42818f154f614fc00afb2106827
Author: Uwe Hermann
Date: Mon Dec 5 12:19:05 2016 +0100
Consistently use the "PeakTech" vendor name spelling.
(as per vendor website, and also to be consistent with our wiki)
commit 9d8f363d35572c03f3f0d75d254f57d17dc51ed9
Author: Marcus Comstedt
Date: Tue Dec 6 21:01:23 2016 +0100
Bindings: Link C++ code with gnustl_shared if it exists (Android)
commit e83a8f495855b950953d775e7a8f7a6f53f499b9
Author: Marcus Comstedt
Date: Tue Dec 6 21:00:25 2016 +0100
Java: Use correct JNI function when calling Vector.add
commit fef90b410162bcdb3a7690e15dfabbf90b4f595d
Author: Vlad Ivanov
Date: Sun Nov 13 14:22:27 2016 +0300
fx2lafw: fix device product string check
Signed-off-by: Vlad Ivanov
commit 7087a8b0fa24ac9e579ce68452f025a73d115dcb
Author: Karl Palsson
Date: Tue Nov 22 13:12:55 2016 +0000
fx2lafw: warn on fail to open plausible devices
Instead of silently ignoring all devices that fail to open.
This fixes bug #867.
Signed-off-by: Karl Palsson
commit 104f02fda1f991654de3e87fb9f40c599fa26c80
Author: Vadim A. Misbakh-Soloviov
Date: Thu Nov 10 16:56:43 2016 +0700
Makefile: fix for #865.
Buildsystem wants CXX to be defined as $(CXX).
Otherwise it fallbacks to default value, which does not contain
"-std=c++11" statement.
Other changes (like CC=$(CC) and CFLAGS=$(CFLAGS) instead of CXX ones)
is not directly fix the issue, but fix cases, where CFLAGS (and CC)
differs from CXX* ones, so it could lead to similar errors in the future.
commit f504779c120713727d2d01cbd3ad38175a829a4f
Author: Marcus Comstedt
Date: Wed Nov 16 16:42:37 2016 +0100
Bindings: Make Ruby bindings build with Ruby 2.0
The alias "rb_ary_new_from_args" for "rb_ary_new3" was not introduced
until in Ruby 2.1.
commit ced210d53a62086680ca2da97efc14cca2cd8368
Author: Gerhard Sittig
Date: Sun Nov 6 22:20:05 2016 +0100
deree-de5000: add driver item for the Peaktech 2170 model
Register another driver for the Peaktech 2170 LCR meter, which is
based on the ES51919/ES51920 chipset, too.
commit beedfa06b6442db8c6a92dd18498c6ffefe6b503
Author: Gerhard Sittig
Date: Sun Nov 6 22:01:37 2016 +0100
deree-de5000: prepare to add more ES51919 based LCR meters
The "deree-de5000" driver is a very thin wrapper around the ES51919
chipset. We expect more models from other vendors to use that same
support code.
Model the registration of vendor/model combinations after the serial-dmm
approach. Register the DER EE DE-5000 device as the currently only
member in a list of drivers which all use the ES51919 chipset (no model
specific routines are registered in the absence of support for other LCR
meter chips).
This commit does not change the driver's behaviour nor the set of
supported hardware. It prepares the addition of more drivers in the
future.
commit 82458e50b1d711fcc5b179900691cdfb77cb86e1
Author: Uwe Hermann
Date: Sun Nov 6 14:45:08 2016 +0100
serial-dmm: Expand a code comment.
commit d5b1b76d65c446bed0dbabdccd66e51d8cdc8298
Author: Gerhard Sittig
Date: Sat Nov 5 18:01:43 2016 +0100
serial-dmm: comment nit on the UART bitrate for ES519xx chips
Factor out identical comments on the UART bitrate of ES519xx based
multimeters. These probably got copied from the first item as of 2012
when new items were added in 2014 (the added devices were from the
same vendor and rebadged).
Expand on the fact that the bitrate still is within spec, and does not
harm at all. Strictly speaking the comment could get dropped.
commit 89a3d8af3a5f3a1d265ec396fdb3d4c9d69ee7c3
Author: Gerhard Sittig
Date: Sat Nov 5 17:54:29 2016 +0100
serial-dmm: sort the list of device drivers (part 12, vc870)
This commit puts 'vc870' meters into one group. Which completes the
series of commits which sort the list of supported serial DMMs.
commit 53e875ab165f420d02d7132da07dd6f4ba509e98
Author: Gerhard Sittig
Date: Sat Nov 5 17:35:36 2016 +0100
serial-dmm: sort the list of device drivers (part 11, sort ut71x)
This commit sorts items in the 'ut71x' group. This is separated from
collecting the group to reduce the diff size and simplify verification.
commit 6c6e5e47f0c405e8d5a1eb3684152a99d358ff0e
Author: Gerhard Sittig
Date: Sat Nov 5 17:32:53 2016 +0100
serial-dmm: sort the list of device drivers (part 10, group ut71x)
This commit puts 'ut71x' meters into one group. Item order is kept to
reduce the diff size and simplify verification.
commit 9249648863f961b754d9d3406949f4eaab0114d7
Author: Gerhard Sittig
Date: Sat Nov 5 17:29:35 2016 +0100
serial-dmm: sort the list of device drivers (part 9, rs9lcd)
This commit puts 'rs9lcd' meters into one group.
commit b35d0023a88b4871be3d4de542b8b170f122ed9e
Author: Gerhard Sittig
Date: Sat Nov 5 17:01:39 2016 +0100
serial-dmm: sort the list of device drivers (part 8, sort metex14)
This commit sorts items in the 'metex14' group. This is separated from
collecting the group to reduce the diff size and simplify verification.
commit ab34156b900e0166a75d03ceb6f36e4a7cc92415
Author: Gerhard Sittig
Date: Sat Nov 5 16:55:45 2016 +0100
serial-dmm: sort the list of device drivers (part 7, group metex14)
This commit puts 'metex14' meters into one group. Item order is kept to
reduce the diff size and simplify verification.
commit 0e27643ff81858262fe0dc864dc962bf030b06ba
Author: Gerhard Sittig
Date: Sat Nov 5 16:52:27 2016 +0100
serial-dmm: sort the list of device drivers (part 6, fs9922)
This commit puts 'fs9922' meters into one group.
commit 1cd40b57d67cadc6abbf7009917d85d8f80fb64d
Author: Gerhard Sittig
Date: Sat Nov 5 17:23:34 2016 +0100
serial-dmm: sort the list of device drivers (part 5, sort fs9721)
This commit sorts items in the 'fs9721' group. This is separated from
collecting the group to reduce the diff size and simplify verification.
commit 289e1f4e7b57a711de0ffaeaf2a89a8821ad0831
Author: Gerhard Sittig
Date: Sat Nov 5 17:12:43 2016 +0100
serial-dmm: sort the list of device drivers (part 4, group fs9721)
This commit puts 'fs9721' meters into one group. Item order is kept to
reduce the diff size and simplify verification.
commit 7532f61d1ba618e76628f6ea3db07f6dad7a751e
Author: Gerhard Sittig
Date: Sat Nov 5 16:40:35 2016 +0100
serial-dmm: sort the list of device drivers (part 3, es519xx)
This commit puts 'es519xx' meters into one group.
commit 440a374fe3799a72e1b244879490ba2814d2e74a
Author: Gerhard Sittig
Date: Sat Nov 5 16:31:11 2016 +0100
serial-dmm: sort the list of device drivers (part 2, dtm0660)
This commit puts 'dtm0660' meters into one group.
commit c06785841cd217ad01e32be9201dca69b1f8818d
Author: Gerhard Sittig
Date: Sat Nov 5 16:19:58 2016 +0100
serial-dmm: sort the list of device drivers (part 1, bm25x)
The previous implementation seems to have added drivers in their "order
of appearance". Start sorting the rather long list, to simplify several
tasks: Add new entries as more drivers get written, find existing items
during research, identify and compare similar models during maintenance.
As a byproduct, there will be no doubt about where to put things during
future work :) and duplicates will be spotted immediately.
This commit puts 'bm25x' meters into one group. And comments on the sort
order and motivation for sorting the table.
commit 6b7e644e5c5ca8fd501303a812293a00d830cd32
Author: Gerhard Sittig
Date: Tue Oct 18 20:35:23 2016 +0200
es51919 lcr: unbreak channel setup after successful detection
Commit 6bcb3ee8763bb introduced initial support for the Cyrustek ES51919
chipset. Its setup_channels() routine used to init a variable to assume
failure, then a loop added channels and changed the value to success.
Commit 5e23fcab889c6 changed channel setup to never fail, but kept the
initialization with an error code. Which prevented the operation of
successfully detected LCR meters.
Remove the no longer needed variable, instead always return success from
an operation which cannot fail.
Fixes: 5e23fcab889c6 "Simplify channel creation."
Signed-off-by: Gerhard Sittig
commit e68c0eb4097e4a01d65c71f473a48c367e06609d
Author: Gerhard Sittig
Date: Wed Oct 12 12:10:04 2016 +0200
serial-dmm: add support for Peaktech-3330 (based on FS9721)
Add another DMM entry for Peaktech-3330, which is based on the FS9721
chipset. Support was tested with the CP210x based USB cable.
Signed-off-by: Gerhard Sittig
commit 0150fdca549411e2d5111629c786e4e53c6208cc
Author: Gerhard Sittig
Date: Sun Oct 16 18:25:23 2016 +0200
output/ascii: add support for user configurable character set
Since tastes and requirements might differ, introduce support for a
user specified character set in the construction of ASCII art graphs
of signal levels. The syntax is "charset=[]",
the default remains backwards compatible with existing consumers.
In comparison to assuming a fixed character set, this change addresses
several distinct aspects:
Users can adjust the output for "higher visual contrast", or "straight
lines" instead of dotted patterns, or "increased difference in height"
for low and high signal levels, or "filled" (block like, "wall of text")
appearance of periods with high levels. User adjustable characters are
needed, as no single fixed set can satisfy the differing expectations.
Perception of the output heavily depends on specific terminals and fonts
in use.
Then there is the issue of levels versus edges, and how their timing
relates. By default edges are drawn at a point in time where the signal
was sampled and was deteremined to already _have_ changed and have
settled to the new level, which means that the position of edges in the
resulting graph might be off by up to one sample period. Strictly
speaking, the available set of samples only contains levels, and does
not hint where exactly an edge might have occured. Though this might be
considered rather nitpicky, representing the graph without edges does
better reflect the input data, and might simplify postprocessing.
Compare the previously only supported format (still the default, -O ascii):
1:...................................................../""""""""""""""""""""
1:""""""""""""""""""""""""""""""""\.........................................
1:..........................................................................
to those example alternatives:
$ sigrok-cli -i file.sr -O ascii:charset=_\"\\/
1:_____________________________________________________/""""""""""""""""""""
1:""""""""""""""""""""""""""""""""\_________________________________________
1:__________________________________________________________________________
$ sigrok-cli -i file.sr -O ascii:charset=_\"
1:_____________________________________________________"""""""""""""""""""""
1:""""""""""""""""""""""""""""""""__________________________________________
1:__________________________________________________________________________
$ sigrok-cli -i file.sr -O ascii:charset=_^
1:_____________________________________________________^^^^^^^^^^^^^^^^^^^^^
1:^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^__________________________________________
1:__________________________________________________________________________
$ sigrok-cli -i file.sr -O ascii:charset=_M
1:_____________________________________________________MMMMMMMMMMMMMMMMMMMMM
1:MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM__________________________________________
1:__________________________________________________________________________
$ sigrok-cli -i file.sr -O ascii:charset=_X
1:_____________________________________________________XXXXXXXXXXXXXXXXXXXXX
1:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX__________________________________________
1:__________________________________________________________________________
Signed-off-by: Gerhard Sittig
commit 6c23b710ec21b6937be059aa7cb14313e929ec7c
Author: Uwe Hermann
Date: Wed Nov 2 19:09:22 2016 +0100
udev: Add comment about Rocktech BM102.
commit 545c04f139a558c73d556041a632d4f60790460c
Author: Uwe Hermann
Date: Wed Nov 2 19:08:57 2016 +0100
udev: Add DreamSourceLab DScope VID/PID.
commit 7305457f6143e0def819f3d17ff6500a080aaa9f
Author: Uwe Hermann
Date: Mon Oct 31 15:30:12 2016 +0100
udev: Update for new post-firmware Hantek 6022BE VID/PID.
commit 7dc72c37e22ba8d1eea5a7e67f753bb118317b6a
Author: Uwe Hermann
Date: Mon Oct 31 14:42:29 2016 +0100
hantek-6xxx: Add "fx2lafw-" prefix to the firmware files.
commit 459324acb8769240513e0bb3ef3c04ad295e8b19
Author: Uwe Hermann
Date: Wed Oct 12 22:33:19 2016 +0200
hantek-6xxx: Update driver to use the USB product version field.
We now require the use of the latest fx2lafw firmware which uses the
same USB VID/PID (1D50:608E) for the Hantek 6022BE and the variants
and rebadges of that device (e.g. the SainSmart DDS120).
The variants can be distinguished via the USB product version field.
commit f6e7b6124a646b0ece644681d4e0172ffb30a561
Author: Aurelien Jacobs
Date: Mon Oct 17 23:15:51 2016 +0200
agilent-dmm: style improvement
commit 63bb11babae03609b06bb06a4c48100e72a81cd7
Author: Aurelien Jacobs
Date: Fri Oct 14 22:52:17 2016 +0200
agilent-dmm: add support for Log-* data_source for U128x
commit b907d62fb83ee980abfd19912a1d055740f66fc9
Author: Aurelien Jacobs
Date: Thu Sep 15 18:19:49 2016 +0200
agilent-dmm: rework job management
This allows much faster and configurable sampling rate, and faster
reaction to function switch.
This also gives a more repeatable job ordering and more reliable
query/reply association.
commit 6ace179e6d33c9e0ad85cbd10d51bfde86993ee0
Author: Aurelien Jacobs
Date: Thu Sep 15 18:14:54 2016 +0200
agilent-dmm: prepare config handling to easily receive more options
commit 5728718b66d12b82415f400d040dd9933775abb0
Author: Aurelien Jacobs
Date: Tue Sep 13 17:57:07 2016 +0200
analog: use SI prefix only with units that accept SI prefixes
commit d2f6abf6dececc58813760312749bffc343f7cc3
Author: Aurelien Jacobs
Date: Tue Sep 13 14:37:30 2016 +0200
agilent-dmm: fix handling of continuity mode for U128x
commit 7ab126cacbcb95af49231a07c7f027a7443d9399
Author: Aurelien Jacobs
Date: Tue Sep 13 14:23:03 2016 +0200
agilent-dmm: add support for pulse width and duty cycle on U128x
commit cdc311957b6c1fbe68a88ed3a44fefa4a9037605
Author: Aurelien Jacobs
Date: Sun Sep 11 19:18:19 2016 +0200
analog: use correct unit for dBm/dBV
commit 8f68f36bc527f47f09445bbad1779a9fa3a22159
Author: Aurelien Jacobs
Date: Sun Sep 11 19:17:34 2016 +0200
agilent-dmm: add support for dBm/dBV modes
commit d822726dbffea1fabe47bcea3e434eadcfa29b31
Author: Aurelien Jacobs
Date: Sun Sep 11 18:56:52 2016 +0200
agilent-dmm: add support for reading secondary display and temperature
commit 3cc2028382637283884d03af7893003d85c9818a
Author: Gerhard Sittig
Date: Sun Oct 16 18:25:22 2016 +0200
tests: relax the "version text" length check, accept longer strings
The version text length check fails for git setups that use more digits
in abbreviated hashes, as is recommended by e.g. the Linux kernel project.
Raise the upper limit for acceptable version strings, and add comments
on how the limits were determined. The test still might fail in setups
of slightly different configuration, but now it's easier to see why the
test failed, and how to adjust the test.
Signed-off-by: Gerhard Sittig
commit 7c86d8537204caa95d70d92bf5698b32ac35fa10
Author: Gerhard Sittig
Date: Sun Oct 16 18:25:21 2016 +0200
asix-sigma: fix buffer length check in register write helper
Fix the array size check in the sigma_write_register() routine. The
'len' parameter specifies the number of bytes to write, while the 'buf'
array holds one nibble per array item.
The previous implementation (commit e8686e3ae36c1) switched to a
constant size and made the buffer large enough so that no existing
request would exceed the buffer, fixing an overflow that was present
before that commit. But the most recent size check was incomplete and
might erroneously succeed for larger amounts of write data.
It's assumed that the issue which gets addressed here never occured in
practice. The constant-size buffer could hold up to 39 bytes of input
data in their transport representation, while the largest data that was
passed to the write routine is six bytes (trigger LUT params).
Fixes: e8686e3ae36c1 "asix-sigma: Avoid use of variable length arrays"
Signed-off-by: Gerhard Sittig
commit 2f7e529ce64c45508adf616b4b48a7a154aa7798
Author: Gerhard Sittig
Date: Sun Oct 16 18:25:20 2016 +0200
asix-sigma: store "limit samples" value, re-determine "limit msecs" period
The driver internally implements the "limit samples" feature by means of
the "limit sample period" approach. Determination of the corresponding
period of time for captures depends on the sample rate as well as the
maximum sample count, and thus needs to be re-done when either setting
changes.
Introduce a "limit_samples" variable so that the value is available when
needed later. As a byproduct the parameter can be retrieved now (get).
Add comments to the sigma_set_samplerate() routine's sections, since
quite a bit is happening there, and interacts with other locations.
Signed-off-by: Gerhard Sittig
commit 4154a516de818ace3aabfe5e44cf4c81986074e7
Author: Gerhard Sittig
Date: Sun Oct 16 18:25:19 2016 +0200
asix-sigma: fix out-of-range access to the samplerates[] array
Commit 2c9c0df86eaf removed the sentinel from the samplerates[] array,
but did not adjust the test which checked whether a rate is listed in
the set of supported rates. This could result in an out-of-range access
beyond the array's last item.
Fix the "listed?" check after iterating the table of supported rates.
Cope with either presence or absence of a sentinel in the array.
Address some more style nits while we are here. Rename an identifier
for a local variable which unintentionally might suggest that it would
be a preprocessor macro (all-caps). Reduce redundancy in data type
references as well as in the determination of the array size.
Signed-off-by: Gerhard Sittig
commit 387825dcb1d3ee3fa39286d6048e7bfe86a310b6
Author: Gerhard Sittig
Date: Sun Oct 16 18:25:18 2016 +0200
asix-sigma: update comments in firmware download code paths
The current implementation of the ASIX Sigma firmware download contains
comments which express uncertainty. Rephrase them, no magic is involved.
Discuss the polarity of the CCLK hardware signal. Which shall eliminate
potential concerns in future reviews or maintenance.
This commit only updates comments, and does not change behaviour.
Signed-off-by: Gerhard Sittig
commit efde67a1076110f8d0a7e0e6175eeccd4dc8446a
Author: Uwe Hermann
Date: Mon Sep 26 17:02:54 2016 +0200
Doxyfile*: Set GENERATE_TODOLIST to NO.
We don't really need or use this. Bugs/issues should go into Bugzilla.
commit ba508e22d4e5ac358489e24b29f458c5bc1fb892
Author: Uwe Hermann
Date: Mon Sep 19 01:48:56 2016 +0200
demo: File naming consistency changes.
commit caeb8d7a9d2d5a2497692a23caf066f33f7a34c3
Author: Uwe Hermann