Commit Graph

18 Commits

Author SHA1 Message Date
Richard Hughes
d3afaaab9f libdfu: Add a context object to handle device hotplug
Also, add a 'watch' command to dfu-tool to test this.
2015-11-23 13:53:06 +00:00
Richard Hughes
5d6066c002 libdfu: Use signals to propagate device state
Also, add padding to the various class structs so we can add more signals in
the future without breaking ABI.
2015-11-23 10:19:24 +00:00
Richard Hughes
e7aaf39de2 libdfu: Fix multi-interface devices like the Neo Freerunner
The DFU specification specifies that only one of the DFU interfaces has to
export a functional descriptor; I assumed they all had to. Adding support
for this kind of device rapidly turned into a massive restructure and it was
all too complicated anyway.

Reorganise the code so that we can support these kinds of devices and clean up
the API so it's sane and easy to use. This also allows us to generate the
GObject introspection GIR and to also install libdfu as a shared library.

If you've got any comments about the API, please shout now as when 6.0 is
released it will become API and ABI stable.
2015-11-22 21:17:48 +00:00
Richard Hughes
e7ba943cf5 libdfu: Support download and upload to ST DfuSe devices
Also, simplify the general download and upload API now we can deal with
element data in chunks.
2015-11-20 14:14:05 +00:00
Richard Hughes
0256f04338 libdfu: Improve the output of 'dfu-util list'
Being semi-compatible with dfu-util isn't important anymore.
2015-11-20 12:30:53 +00:00
Richard Hughes
3391e6b154 libdfu: Use the progress bar for all uploads and downloads 2015-11-19 17:44:29 +00:00
Richard Hughes
664bb739b0 libdfu: Require a --force flag to flash wildcard firmware 2015-11-17 08:59:24 +00:00
Richard Hughes
f048fbc703 libdfu: Call the progress callback when doing detach
This allows the UI to show something sane, and also allows fwupd to start any
timeout for ignoring detach:replug.
2015-11-16 16:28:10 +00:00
Richard Hughes
859fe0b43e libdfu: Check for extra args to dfu-tool convert 2015-11-16 11:48:20 +00:00
Richard Hughes
e8a6d3d0cb trivial: libdfu: flip reversed command descriptions 2015-11-16 11:47:16 +00:00
Richard Hughes
b5936f9eef libdfu: Correctly implement auto-boot in dfu_device_download() 2015-11-16 11:46:36 +00:00
Richard Hughes
b4eaec3654 libdfu: Allow choosing a different alt-setting when downloading 2015-11-15 19:12:13 +00:00
Richard Hughes
3a40e94567 libdfu: Add a merge command to dfu-tool 2015-11-15 19:00:03 +00:00
Richard Hughes
31aa1dd3df libdfu: Allow setting the alternate settings in DfuSe firmware 2015-11-15 16:52:46 +00:00
Richard Hughes
cfd399498d libdfu: Use a custom error domain 2015-11-14 17:34:08 +00:00
Richard Hughes
460bc2012e libdfu: Move the VID:PID checks from the tool to DfuDevice 2015-11-14 17:12:29 +00:00
Richard Hughes
62633af0db libdfu: Add support for DfuSe firmware
Also, move some shared stuff down from DfuTarget to DfuDevice.
2015-11-14 16:34:09 +00:00
Richard Hughes
a3acd7f711 Add support for updating USB devices with DFU
This adds a private libdfu library and also a small utility program called
dfu-tool.
2015-11-12 17:32:48 +00:00