I don't know why these didn't fail before - possibly because of
incomplete type information from old numpy...
I removed a few annotations because they were failing (e.g.
np.sum can return a scalar or an array), but I don't think
this should be a problem - the function inputs and return values
are still typed.
numpy 1.20 deprecates np.float, which was only ever an alias for
``float``. I've replaced all occurrences of np.float with float, as
recommended. There should be no change in functionality.
We now install with --dev to make sure development dependencies
are included. I've also removed "poetry run"
from the "poe" commands, as we are
already in an active virtual environment, so
it's unnecessary (and also broken).
Finally, I added a tarball of the vue app to
the output distribution.
More or less everything is now done by setup.py
Pipfile simply installs the module in editable mode, which
recursively resolves dependencies as defined in setup.py.
Reset tour button resets the local storage used to mark the tour
as done.
Overriding the origin can now be done with a query string.
This will load the store with the new origin from the start,
so might be better for testing some things.
I'm not worried about unexpected bugs, as it is quite obvious
from the URL what's going on.
Specifying overrideOrigin in the URL now
sets up the store with the modified origin.
This is intended for development, and makes it
much less annoying to develop with a Vue dev server.
numpy/scipy were mismatched in version, which led to a confusing
import error. I've removed the numpy version specification entirely
and left it to scipy to ensure numpy
is installed. This could do with
review in the future...
Forcing the use of piwheels avoids trying
to install numpy/scipy from source,
which is the Right Answer.
Unfortunately, sometimes packages fail on piwheels, but poetry still
tries to install them. I've had to fix
pyyaml at 5.4.0 for that reason.
The picamera object isn't thread safe; I have now wrapped all access
in context managers that acquire the BaseCamera.lock
I also added an endpoint to reset the LST without auto-gain.
When testing the UI I noticed that the different recalibrate routines
don't use locks properly, so they try to run
concurrently.
This commit isn't tested yet...
I've added buttons to perform the separate calibrations (gain, AWB)
under the full recalibrate link.
It would be really nice to have a modal dialog though.
I also increased the precision of the numbers, which makes the step
buttons annoyingly useless but allows floating point
values without validation errors.