Bastien Nocera
5ae2ef5407
lib: Split off fpi_ssm functions
...
Rename drv.c to something more fitting to its contents, and move state
machine code to its own header.
2018-09-05 15:40:01 +02:00
Bastien Nocera
2e035a7f45
lib: Make fpi_ssm opaque for drivers
...
We shouldn't access fpi_ssm struct fields directly in drivers, so add
accessor and setter functions for the common uses.
2018-05-29 13:34:18 +02:00
Bastien Nocera
32fcfde86b
lib: Use GLib and libusb directly for debug output
...
Use GLib internally to output debug information, and tell about
libusb's LIBUSB_DEBUG envvar for libusb debug.
fp_set_debug() is now a no-op.
https://bugs.freedesktop.org/show_bug.cgi?id=106552
2018-05-23 19:13:08 +02:00
Daniel Drake
88e9f4a5f8
Public async API implementation
...
Involved some internal overhaul/reorganisation. Nice side effect is that
the synchronous API is now expressed purely in terms of the public async
API.
2008-03-01 13:02:17 +00:00
Daniel Drake
754e56aec1
Allow execution of sub-SSMs
...
A subssm will be executed, and upon completion the parent state machine
will either be advanced to the next state or aborted with error, depending
on the outcome of the subssm.
Also add some debug messages.
2008-02-18 17:55:35 +00:00
Daniel Drake
b8dc77b56e
Fix verify/identify error handling
...
If verify_start failed, we need to run verify_stop. Same for
identification.
2008-02-18 17:55:35 +00:00
Daniel Drake
0aaffcee33
Allow jumping to arbitrary state in a SSM
...
This is looking less and less like a simple state machine now, but it's
proving a useful model!
2008-02-16 12:49:37 +00:00
Daniel Drake
3048b37176
Port imaging layer to asynchronous model
2008-02-16 12:48:44 +00:00
Daniel Drake
5b1f6a0df7
Port primitive driver layer to asynchronous model
2008-02-16 12:47:56 +00:00