| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
This replaces the usage of generics from `typing` with built-in or from
`collections.abc` since Python 3.9 is the minimum supported version.
|
|
|
|
|
| |
The "driver" is the module — the classes need to be called Device. This
allows adding further typing around this.
|
|
|
|
| |
This makes it more like the other common modules, and allows expanding the interfaces.
|
|
|
|
| |
This is following the advice provided in https://matija.suklje.name/how-and-why-to-properly-write-copyright-statements-in-your-code
|
|
|
|
|
|
|
|
| |
Now that Python 3.7 is the minimum Python version, typing can be done
inline, which makes it easier for mypy to know the files to check.
Indeed, all the files are now typechecked, which uncovered a few minor bugs
and mistakes here and there.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Most of the epydoc metadata (author, copyright, email) is duplicate in
the package's setup.py or README. These copies are more likely to get out
of date, and increase the amount of work to keep them in line.
The license information should rather be provided with an SPDX identifier,
which is more similar to what the Linux kernel and other projects, such as
pyserial, do.
|
|
|
|
|
|
|
|
| |
Due to EURid threatening to suspend my domain, make sure that the
references are updated to point at the right stable domain.
This includes changes to the files as well as a mailmap to update the
author references in the log.
|
|
|
|
| |
Again, this is not ready for CI yet unfortunately :(
|
| |
|
|
|
|
| |
This makes the code more idiomatic and less brittle.
|
|
|
|
| |
This makes the code more idiomatic and less brittle.
|
|
|
|
| |
This renaming prepares for the ketone class introduction.
|
|
|
|
|
|
|
|
| |
This allows the drivers to keep up to date with what they support and
need. Should make Issue #9 easier to solve.
Also merge the dependency list with the list of supported devices, so that
you don't have to join the two tables in your head.
|
|
|
|
|
|
| |
This allows the serial support class to open the serial port without each
driver having to pass the same long list of parameters, given that
effectively all the meters use the same parameters, except few.
|
|
|
|
|
|
|
|
| |
pyserial makes it very easy to look for a serial port based on VID/PID
pairs, so use those when possible. Unfortunately serial drivers are also
the least reliable as all of the cables but Abbott's use generic IDs.
This keeps in the direction of solving Issue 9.
|
|
|
|
|
|
|
|
| |
This requires the drivers to validate their device, but also means they can
provide a more explicit error message for the user as to what should be
passed.
This is a first step to help solving Issue 9.
|
| |
|
|
|
|
|
| |
This makes it easier to figure out which files represent drivers, and which
ones are per-vendor support modules.
|
|
|
|
|
|
| |
This matches the gdef MeterInfo message, and produces a similar (though not
identical) string as before. Importantly, it allows providing semantic
information.
|
| |
|
| |
|
|
|
|
|
| |
Most glucometers have *some* sort of checksum, so there is no reason to
implement this on a per-driver basis.
|
|
|
|
| |
This will lead the way to providing meal information with future drivers.
|
|
|
|
| |
It seems like the device is very sensible to the reset command.
|
|
|
|
|
| |
The function is not shared with the Ultra Easy and likely not with
other devices either.
|
|
|
|
|
| |
The otultraeasy requires explicit connect/disconnect so implementing
this before is helpful.
|
| |
|
|
|
|
|
|
| |
While mmol/L is the international standard unit, at least LifeScan uses mg/dL in
all their devices, and since they are the ones for which we have protocols for,
we might as well use the same.
|
|
|
|
|
| |
While not all readers implement before/after meal notes, it's possible
to implement an heuristics for that.
|
|
|
|
|
| |
Idea by Jim Sifferle, implemented in a slightly different way as I
noticed I forgot to quote it properly.
|
|
|
|
|
| |
If any exception is thrown by the library, print an error statement and return a
non-zero exit value.
|
|
|
|
| |
This allows to get the serial number, as well as other details about the glucometer once it's installed.
|
| |
|
|
|
|
| |
This also dumps the comment with the dump command.
|
|
|
|
|
| |
The Reading object will be extended to cater for flags, comments and
other device-specific information.
|
|
|
|
|
| |
There is no reason for me to use GPLv3 now that I'm not using the
CRC32-Sick code, so I'll go with the most liberal license out there.
|
|
|
|
|
|
|
| |
This introduced some changes in the Exception class to simplify the
code, and at the same time it adds a module for multiple lifescan
drivers to share code (multiple OneTouch protocols share the same
checksum for instance).
|
| |
|
| |
|
| |
|
|
|