Commit Graph

91 Commits

Author SHA1 Message Date
Gaël PORTAY
d15f0b1cca steelseries: fizz: Use fu_common_strsafe() 2022-06-10 10:07:28 -04:00
Gaël PORTAY
8d4d2f2087 steelseries: Add hid support to detect Bluetooth devices 2022-06-10 10:07:28 -04:00
Gaël PORTAY
99f310e11a steelseries: Add datasz to fu_steelseries_device_cmd()
Additionaly, this:
 - removes the unused function fu_steelseries_device_get_transfer_size()
 - renames function fu_steelseries_device_command_error_to_error() to
  fu_steelseries_fizz_command_error_to_error()
2022-06-09 10:57:26 -04:00
Gaël PORTAY
40ba65ce28 steelseries: fizz: Fiz command size
The size of a command is 8bits long.
2022-06-09 10:57:26 -04:00
Richard Hughes
dc91d59f8e Remove the recently added fu_progress_add_step_full()
Just break API instead.
2022-06-03 13:47:11 -05:00
Richard Hughes
5ef0ae182d Add a 'name' attribute to each FuProgress step
This allows us to print better warning strings, and in the future
would allow us to profile each operation in a meaningful way.

Also, add context to some of the progress steps as required.
2022-06-01 15:05:43 +01:00
Gaël PORTAY
2e1b7c6438 steelseries: fizz: Rename command functions 2022-05-30 10:24:52 -04:00
Gaël PORTAY
fe3649ee6a steelseries: fizz: Add missing command definitions 2022-05-30 10:24:52 -04:00
Gaël PORTAY
87f2807dfb steelseries: fizz: Fix indentation violation 2022-05-30 10:24:52 -04:00
Gaël PORTAY
56a3632331 steelseries: fizz: Set firmware GType 2022-05-30 10:24:52 -04:00
Gaël PORTAY
4d820f0ddb steelseries: fizz-tunnel: Enable polling 2022-05-30 10:24:52 -04:00
Gaël PORTAY
0b8ff7196a steelseries: fizz-tunnel: Get battery level 2022-05-30 10:24:52 -04:00
Gaël PORTAY
8992698381 steelseries: fizz-tunnel: Wait for device connected 2022-05-30 10:24:52 -04:00
Gaël PORTAY
6190fc6830 steelseries: fizz-tunnel: Add sub-device if paired only 2022-05-30 10:24:52 -04:00
Gaël PORTAY
714983d82d steelseries: fizz: Add support for 2.4G connection 2022-05-30 10:24:52 -04:00
Gaël PORTAY
c5defa89e9 steelseries: sonic: Rewrite connect using fu_device_retry_full() 2022-05-27 11:19:51 -04:00
Gaël PORTAY
2f23489c6e trivial: steelseries: fizz: Add devices in bootloader mode 2022-05-27 11:19:51 -04:00
Gaël PORTAY
29ac547c43 trivial: steelseries: sonic: Adjust timings 2022-05-27 11:19:51 -04:00
Gaël PORTAY
c41c738327 trivial: steelseries: Fix progress status 2022-05-27 11:19:51 -04:00
Gaël PORTAY
9bd8a327d8 trivial: steelseries: Fix indentation violation 2022-05-24 06:43:02 -04:00
Richard Hughes
636786dd6a steelseries: Fix trivial typo spotted by Coverity 2022-05-24 08:53:30 +01:00
Richard Hughes
4397e9d7e0 steelseries: Don't use 'dongle' to describe hardware 2022-05-23 14:56:45 +01:00
Richard Hughes
f16560b705 Add device icon usb-receiver 2022-05-23 14:56:45 +01:00
Richard Hughes
4ffa70032f steelseries: Fix a trivial flag issue 2022-05-23 14:13:17 +01:00
Gaël PORTAY
7f7d2759a7 trivial: Update with recent steelseries changes
This fixes the commits 7eb053e97a and
9a5c69417a.
2022-05-23 14:09:03 +01:00
Richard Hughes
9a5c69417a steelseries: Add is-dongle as a private flag
This allows us to remove quite a bit of code.
2022-05-22 10:43:34 +01:00
Richard Hughes
7068233bf9 steelseries: Add FuSteelseriesDevice as a shared baseclass
This deduplicates a lot of code.
2022-05-22 10:43:34 +01:00
Richard Hughes
7eb053e97a steelseries: Rename FuSteelseriesDevice to FuSteelseriesMouse
Also, convert it to a FINAL class.
2022-05-22 10:43:34 +01:00
Gaël PORTAY
f427a3e327 steelseries: sonic: Allow to read firmware 2022-05-21 16:09:09 -04:00
Richard Hughes
36176c5b07 trivial: Fix one -Wunused warning in some new code 2022-05-21 12:19:50 +01:00
Richard Hughes
5ceabcda1a trivial: Remove the class structs for types that use G_DECLARE_FINAL_TYPE 2022-05-21 12:19:50 +01:00
Gaël PORTAY
10f6f249b0 steelseries: Add support for Aerox 3 Wireless 2022-05-20 12:54:00 -04:00
Richard Hughes
679628c091 Move the battery attributes down into libfwupd
This allows us to show the current value and the threshold on the CLI
and in tools like gnome-firmware.
2022-05-18 07:16:07 +01:00
Gaël PORTAY
3e00d0269e trivial: steelseries: Rename Proton to Status+ 2022-05-17 16:52:42 +03:00
Gaël PORTAY
d802f469e2 trivial: steelseries: gamepad: Remove duplicated local
The local and the parameter are duplicated variables for the same
object.
2022-05-17 16:52:42 +03:00
Gaël PORTAY
47a6341676 trivial: steelseries: Group quirks by device 2022-05-17 16:52:42 +03:00
Gaël PORTAY
efe0a1ef3f trivial: steelseries: Update README.md 2022-05-17 16:52:42 +03:00
Gaël PORTAY
508922c20c steelseries: Add support for Rival 3 Wireless 2022-05-17 05:17:35 -04:00
Richard Hughes
d3d7cfa816 Add plugin quirk keys earlier in the startup process
This allows creating the silo when starting the engine with custom
plugin keys such as WacomI2cFlashBaseAddr.

If we move the plugin initialization earlier then we don't get the
HwID matches, so we really do have to split this into a 4-stage startup,
e.g. ->load(), ->init(), ->startup() and ->coldplug().
2022-05-09 11:13:52 +01:00
Mario Limonciello
661990ed98 Convert build system to use meson tristate features
tristate features will automatically disable if dependencies marked
as required are missing.

Packagers can manually override using `auto_features`.

Link: https://mesonbuild.com/Build-options.html#features
2022-02-28 08:34:48 -06:00
Richard Hughes
8df102b7c0 Add fu_usb_device_add_interface() for plugins to use
It's a common action for plugins to call FuUsbDevice->open() then claim
interfaces, and then release them just before FuUsbDevice->close().

It's also something a lot of plugins get wrong, so provide common code
to handle it correctly in one place.
2022-01-04 22:05:37 +00:00
Richard Hughes
8fc8539146 trivial: Remove some unused variables 2021-12-10 16:00:07 +00:00
Richard Hughes
3ffc3fa774 Add fu_common_sum8() common functionality
We now have 9 different plugins all using this functionality, and we're
about to add one more. Move this into common code so that all the
plugins are using the same endian and bufsz-safe versions.
2021-11-26 18:33:11 +03:00
Richard Hughes
e87fc05ab9 Speed up the daemon startup by ~2% by doing dlsym much less
We were calling g_module_symbol() 2703 times, which is actually more
expensive than you'd think.

It also means the plugins are actually what we tell people they are:
A set of vfuncs that get run. The reality before that they were dlsym'd
functions that get called at pretty random times.
2021-11-09 12:02:07 +00:00
Denis Pynkin
5984333028 steelseries: add Stratus gamepads support
Added support for Stratus-series gamepads and dongles.

Signed-off-by: Denis Pynkin <denis.pynkin@collabora.com>
2021-10-19 18:34:51 +03:00
Mario Limonciello
55de39c077 trivial: reformat the whole tree to match new format 2021-08-24 11:18:40 -05:00
Mario Limonciello
798d1ed3ee trivial: update markdown for pre-commit style 2021-07-18 14:42:47 -05:00
Richard Hughes
bf72d393fd Split up FuUsbDevice into ->open() and ->setup()
Before this change calling FuUsbDevice->open() opened the device, and
also unconditionally added various GUIDs and InstanceIDs which we
normally do in setup.
Then fu_device_setup() would call the FuSubclass->setup() vfunc which
would have no way of either opting out of the FuUsbDevice->setup()-like
behaviour, or controlling if the parent class ->setup is run before or
after the subclass setup.

Split up FuUsbDevice->open() into clear ->open() and ->setup() phases
and add the parent class calls where appropriate.

This means that ->setup() now behaves the same as all the other vfuncs.
2021-06-17 16:21:41 +01:00
Mario Limonciello
73cdf067ed trivial: fixup includes for a variety of plugins 2021-06-14 10:12:45 +01:00
Richard Hughes
faa35e430b Show a warning if the device has no GType and the plugin has no default
This also renames a symbol to make it clear that you can call it more than once.

Fixes https://github.com/fwupd/fwupd/issues/3148
2021-04-15 16:52:56 +01:00