Commit Graph

1990 Commits

Author SHA1 Message Date
Jonas Malaco c66740862c cli: print address last since it may be unreasonably long 2023-03-12 02:49:29 -03:00
Jonas Malaco 804ba7a2d9 cli: bail out from nicely formatting a line with a very long column 2023-03-12 02:48:56 -03:00
Jonas Malaco 23ddd75b8a _virtual: add virtual devices for testing the CLI 2023-03-12 02:48:49 -03:00
Jonas Malaco 5920ff20f7 cli: fix tab size and leave to-do note for extra large columns 2023-03-12 02:00:40 -03:00
Jonas Malaco 55cea8bb82 cli: invert order of statements to make dependencies more obvious 2023-03-12 01:55:02 -03:00
Jonas Malaco eddaced986 cli: print each row with a single call to print 2023-03-12 01:53:32 -03:00
Jonas Malaco 188bcc06c2 cli: restore shorter N/A alias for not available 2023-03-12 01:40:59 -03:00
Jonas Malaco 1b24c9f89c cli: handle computing width and printing when unit is None 2023-03-12 01:40:29 -03:00
Jonas Malaco 6f6533c2f0 cli: only enumerate results on simple list 2023-03-12 01:34:14 -03:00
Jonas Malaco 426fb584f4 cli: remove some string allocations when printing 2023-03-12 01:20:03 -03:00
Jonas Malaco 94df8dc018 cli: restore wider separator for table output 2023-03-12 01:14:04 -03:00
Jonas Malaco 0c07b99418 util: add unstable "_all" unsafe feature 2023-03-12 01:12:05 -03:00
Jonas Malaco 54b4aee9d5 cli: print all tables with the same width, if possible 2023-03-12 01:11:33 -03:00
Jonas Malaco e200493f50 cli: use _print_table in list command 2023-03-09 15:01:37 -03:00
Jonas Malaco 790f9ee1ec cli: generalize table printing into _print_table 2023-03-09 15:01:14 -03:00
Jonas Malaco 7b801e464e cli: strip most decorations from status output
Instead, add colons (when appropriate), which are picked up by
espeak-ng, and hopefully other screen readers too.

To keep some visual separation between the heading (device description)
and the status items, add a horizontal rule. This doesn't seem to
negatively affect espeak-ng.
2023-03-09 01:21:46 -03:00
Jonas Malaco c20fbb0f6a readme: increase MRLV for Corsair 2022 PSUs to git
Related: #575
2023-03-01 15:34:44 -03:00
Jonas Malaco 2dd235e536 corsair_hid_psu: read exactly 4 bytes for timedeltas
The response from the device may contain non-nil bytes beyond the range
applicable to the command being replied to.

This is generally taken care of by LINEAR11, ULINEAR16, or when reading
a single byte. However, as we weren't sure how many bytes could actually
be returned by _get_timedelta, it was allowed to try and parse the
entire response as an integer.

That was fine since we were reading with little endianess, and no
devices were known that actually send extra non-nil bytes. That has
changed with the H1500i: only 4 bytes can be safely read from the
response.

Fix _get_timedelta with this new information.

Fixes: #575
Fixes: 64523ef337
2023-02-26 15:31:06 -03:00
A git user dd2d1c1cf1 prometheus exporter: Add device selection options 2023-02-21 23:41:13 -03:00
Jonas Malaco 02b6e1feb4 github: ask bug reporters to check if the issue hasn't been solved 2023-02-17 08:39:28 -03:00
Jonas Malaco 362db42e26 readme: add notice for the open invitation for new team members 2023-02-17 08:36:06 -03:00
Jonas Malaco 9bae127771 github: pin psf/black used in CI for now to version ~22
Related: #568
2023-02-17 00:05:13 -03:00
Guy Boldon 67df5ab23c
readme: update Coolero/CoolerControl project name and link (#567) 2023-02-16 23:49:50 -03:00
Stefano Raneri 3c22727666
hydro_platinum: add support for H100i Elite RGB (#557) 2023-01-14 12:02:42 -03:00
Jonas Malaco 1009dcfe3e changelog: add checksums for 1.12.1 2023-01-14 09:46:06 -03:00
Jonas Malaco 9eaa0d274d release: prepare for v1.12.1 2023-01-14 09:41:19 -03:00
Jonas Malaco 4c981275b9 corsair_hid_psu: assert that the response matches the command sent
A rare and so far not well understood issue with these PSUs has been an
occasional exception being thrown from timedelta:

    OverflowError: Python int too large to convert to C int

In both cases for which we have debug infos, #463 and #192 (part), it
seems that the cause is an invalid response from the PSU, probably
because of a race with another program simultaneously accessing it.

(A third case has been reported on Discord, but so far no debug info has
been provided to us. Still, it seems likely that once again there's
another program (iCue) in use at the same time as liquidctl).

Check the response matches the command sent in _exec, and if that fails,
suggest that a possible conflict with another program might be the
cause.

Also fix a small issue with how the mock used for unit testing
automatically preloads reports for future impending reads, which up to
this point failed to consider the write bit (which, for the OCP mode,
can be both write=0 or read=1).

Fixes: #463
Related: #192
2023-01-12 07:18:01 -03:00
Jonas Malaco 57e270168c readme: add note about the sensor normally used for speed profiles
Related: #555
2023-01-09 16:34:52 -03:00
Jonas Malaco 0fefb1ab95 liquidctl: remove redundant warranty disclaimer from top-level docstring 2023-01-08 14:31:57 -03:00
Jonas Malaco 8da01d365a liquidctl: use full copyright and license notice in top-level docstring 2023-01-08 14:30:44 -03:00
Jonas Malaco 754396b656 liquidctl: add top-level package docstring 2023-01-08 14:29:22 -03:00
Jonas Malaco 388e35f6bf changelog: add checksums for 1.12.0 2023-01-08 13:47:59 -03:00
Jonas Malaco 8732f0f109 release: prepare for v1.12.0 2023-01-08 13:40:16 -03:00
Jonas Malaco a5b5657deb tree: revise license notices and document copyright notice format 2023-01-08 13:11:44 -03:00
Jonas Malaco 1cc8cf03d7 tree: update copyright notices for 2023
Additionally to updating the range in the main (README and CLI)
copyright notices:

- remove the "(C)" and other variations of a (pseudo-)copyright symbol,
  as they are redundant with the word "Copyright";
- remove dates from the notices in all other files, except those in
  `extra/contrib`, as they are already more accurately tracked in git,
  and also generally understood to be unnecessary (see [1], [2], [3]);
- add a few missing docstrings, including the appropriate copyright
  notice, to a few modules (this also improves the output of pydoc);
- add "and contributors" when missing to existing notices;
- update links to the list of SPDX Short Identifiers, as they have
  broken over time.

External copyright notices, as well as those in `extra/contrib`, are
left unchanged.

[1]: https://github.com/curl/curl/pull/10205/files
[2]: https://hynek.me/til/copyright-years/
[3]: https://www.linuxfoundation.org/blog/blog/copyright-notices-in-open-source-software-projects
2023-01-08 02:14:51 -03:00
Jonas Malaco 2ca87e2448 Revert "ci: tests: work around missing build dependency bug in libusb-package"
This reverts commit cfe22145b8.
2022-12-18 07:40:47 -03:00
Jonas Malaco cfe22145b8 ci: tests: work around missing build dependency bug in libusb-package
The bug has been fixed in the upstream repository[1], but the fix has not
yet been released to PyPI.

[1]: pyocd/libusb-package@5d6f0dbbf9
2022-12-18 07:33:03 -03:00
Jonas Malaco 1f78d3354f readme: fix table columns 2022-12-17 21:23:20 -03:00
Jonas Malaco 677c5de0cc readme: remove "bus" column from device table 2022-12-17 21:22:18 -03:00
Jonas Malaco 347cfdc2b5 readme: explain how to manually install libusb-1.0.dll
Related: #533
2022-12-01 10:55:29 -03:00
Jonas Malaco 385b970785 util: add HUE2 accessory IDs for F120/F140 RGB fans
Related: https://github.com/liquidctl/liquidctl/issues/541#issuecomment-1332991664
Related: https://github.com/liquidctl/liquidctl/issues/541#issuecomment-1333784209
2022-12-01 10:54:19 -03:00
Jonas Malaco 2fe2b887c5 smart_device: disable broken lighting support on 3+6-channel controllers
Related: https://github.com/liquidctl/liquidctl/issues/541#issuecomment-1333035246
Related: #485
2022-12-01 10:15:13 -03:00
Jonas Malaco 361c57674e smart_device: enable additional lighting channels in 1e71:2019 controller
Fixes: 3e7cf3b18b
Related: #485
Related: #541
2022-12-01 10:15:08 -03:00
Jonas Malaco 281264618e smart_device: add support for 2022 3+6-channel RGB & Fan Controller
Related: #541
2022-12-01 10:15:05 -03:00
Jonas Malaco 45901948de github: review the issue templates
Mostly fix a few typos and improve a few sentences. But also bring back
the "Other issue", as Discussions are not the best place for actionable
(but still non-bug) issues or feature requests.

Related: 84390f8408
Related: #537
2022-11-30 18:50:06 -03:00
gravityfargo 84390f8408
github: convert issue templates from markdown to forms (#537) 2022-11-27 20:50:44 -03:00
Aleksa Savić 25447b7464
nzxt-kraken3: add support for expanded hwmon driver capabilities (#529)
* Initial sensor reading support from hwmon for X53 and Z53

* Remove superflous get_status from KrakenZ3

* KrakenX3: read pump duty from hwmon, if available

* Initial support for setting fixed duty through hwmon and directly

* Refactor hwmon_ctrl_mapping info outside of classes

Will fix tests later

* Implement speed profile setting through hwmon; store only hwmon channel no in hwmon_ctrl_mapping

* Initial test fixing

* Test Z3 reading from hwmon, todo reading directly

* Separate X3 and Z3 status reports; add Z3 direct access status report testing

* Fix 1.4.x backward compatibility test

* Add changed in note to kraken 3 guide docs

* Mark Kraken Z3 with h in README

* Note Z3 in guide for hwmon as well

* Add tests for setting fixed duty directly for Kraken X3 and Z3

* Add tests for setting fixed duty through hwmon for Kraken X3 and Z3

* Add test for setting Kraken X3 speed profile directly

* Add test for setting Kraken Z3 speed profile directly

* Check pwmX_enable availability instead for setting speed profiles through hwmon

* Refactor PWM output of test curve; add test for setting Kraken X3 speed profile through hwmon

* Add test for setting speed profiles for Kraken Z3 through hwmon

* Fan has a min duty of 0% on Kraken Z3, update the guide

* Test fan report as well

* Add explanation of why we wait before setting pwmX_enable to 2
2022-11-25 22:21:57 +01:00
Jonas Malaco c095479bac commander_core: allow the driver to bind to a Commander ST
Newer H150i Elite Cappelix AIOs have been featuring a Commander ST,
instead of a Commander Core.

From preliminary information available so far, they appear to be very
similar, perhaps identical.

Fixes: #511
Related: https://github.com/liquidctl/liquidctl/issues/408#issuecomment-1326873959
2022-11-24 23:30:31 -03:00
Shady Nawara 7bda2f32fa
kraken3: use updated winusbcdc (#535) 2022-11-24 09:08:16 -03:00
Jonas Malaco 8702f6d666 usb: fix typo in debug message
Reported-by: @jnuernberg
2022-11-23 09:59:57 -03:00