Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | serial drivers: if no --device parameter is given, look for default cable. | Diego Elio Pettenò | 2017-04-15 | 4 | -21/+21 |
| | | | | | | | | 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. | ||||
* | fsoptium: use logging instead of writing to stderr directly. | Diego Elio Pettenò | 2017-04-15 | 1 | -3/+2 |
| | |||||
* | glucometer: make the error fatal and more clear when setting an invalid date. | Diego Elio Pettenò | 2017-04-15 | 1 | -2/+4 |
| | |||||
* | glucometer: log a better error if the driver name is not found. | Diego Elio Pettenò | 2017-04-15 | 1 | -1/+8 |
| | |||||
* | all drivers: make --device optional at the tool level. | Diego Elio Pettenò | 2017-04-15 | 9 | -2/+45 |
| | | | | | | | | 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. | ||||
* | Add a --vlog option to enable verbose logging. | Diego Elio Pettenò | 2017-02-25 | 1 | -0/+8 |
| | | | | | This helps adding debug information to drivers, particularly those sending encoded messages. | ||||
* | fslibre: parse and output the scan and blood tests. | Diego Elio Pettenò | 2017-02-24 | 1 | -19/+137 |
| | | | | | This adds some very free-form comments to note where the reading comes from and to convert the flags into something that the user can use. | ||||
* | fslibre: new driver for Abbott FreeStyle Libre download. | Diego Elio Pettenò | 2017-02-23 | 2 | -0/+75 |
| | | | | | | | | This is the first (draft) version of the driver, that only downloads the automatic sensor readings, marking them as (Sensor) in the comments. I'll follow up with downloading of the scans and blood tests, but wanted to have this pushed first. | ||||
* | sdcodefree: reformat and cleanup. | Diego Elio Pettenò | 2017-02-09 | 1 | -135/+138 |
| | |||||
* | Merge pull request #8 from gonzojive/master | Diego Elio Pettenò | 2017-01-20 | 1 | -1/+1 |
|\ | | | | | Include glucometerutils.support in setup.py. | ||||
| * | Include glucometerutils.support in setup.py. | Red Daly | 2017-01-20 | 1 | -1/+1 |
| | | |||||
* | | Merge pull request #7 from gonzojive/master | Diego Elio Pettenò | 2017-01-20 | 1 | -1/+1 |
|\| | | | | | Open OneTouch Verio devices in readwrite mode by default. | ||||
| * | Open OneTouch Verio devices in readwrite mode by default. | Red Daly | 2017-01-20 | 1 | -1/+1 |
|/ | | | | | | | | | Opening the device with read+write permissions is necessary to send write10 SCSI commands. The error message I was receiving was "SG_IO ioctl error; Operation not permitted" when running as non-root. http://sg.danny.cz/sg/sg_io.html describes SCSI permissions in greater depth and helped illuminate the nature of the permissions problem. | ||||
* | freestyle: error out if hidraw device does not exist. | Diego Elio Pettenò | 2017-01-17 | 1 | -0/+4 |
| | | | | This avoids creating a binary file when running the tool as root (bad Flameeyes). | ||||
* | fsinsulinx: add untested FreeStyle InsuLinx driver. | Diego Elio Pettenò | 2017-01-17 | 2 | -1/+68 |
| | | | | | | | | | | This is based off the fsprecisionneo driver, as the two share an almost identical protocol. The readings format is different between them, but otherwise the commands are compatible. There are a number of higher-level commands that differ between them, though, so it might be necessary to specialize the drivers further in the future. | ||||
* | fsprecisionneo: move the version and serial number information to the common support class. | Diego Elio Pettenò | 2017-01-17 | 2 | -10/+10 |
| | |||||
* | fsprecisionneo: fix mistake in readings dump command. | Diego Elio Pettenò | 2017-01-17 | 1 | -1/+1 |
| | |||||
* | freestyle: improve error message on command failure, fix comment. | Diego Elio Pettenò | 2017-01-17 | 1 | -2/+2 |
| | |||||
* | freestyle: raise NotImplementedError when trying to zero-log. | Diego Elio Pettenò | 2017-01-17 | 1 | -0/+4 |
| | |||||
* | fsprecisionneo: add support for setting date and time. | Diego Elio Pettenò | 2017-01-17 | 2 | -16/+30 |
| | | | | | | There are shared commands that allow settings the date and time of the device, implement those in the freestyle support module, so that they can be re-used in implementation of the same base protocol. | ||||
* | Update copyrights, cleanup whitespace where needed. | Diego Elio Pettenò | 2017-01-16 | 9 | -13/+22 |
| | |||||
* | Fix README to share the same Markdown syntax. | Diego Elio Pettenò | 2017-01-16 | 1 | -10/+6 |
| | |||||
* | Add new driver for the Abbott FreeStyle Precision Neo. | Diego Elio Pettenò | 2017-01-16 | 3 | -11/+271 |
| | | | | | This driver uses the HID-based protocol which is shared among different devices. | ||||
* | Rename freestyle_optium to fsoptium. | Diego Elio Pettenò | 2017-01-16 | 2 | -3/+3 |
| | | | | | The number of freestyle devices drivers will soon skyrocket, use the same shortening as the OneTouch ones. | ||||
* | LifeScan devices: move lifescan_common to the support directory. | Diego Elio Pettenò | 2017-01-16 | 6 | -25/+25 |
| | | | | | This makes it easier to figure out which files represent drivers, and which ones are per-vendor support modules. | ||||
* | Add an emacs local configuration file. | Diego Elio Pettenò | 2017-01-16 | 1 | -0/+4 |
| | |||||
* | Move the readings-to-csv conversion to the Reading class. | Diego Elio Pettenò | 2017-01-15 | 2 | -3/+7 |
| | |||||
* | Fetch the device information in all commands. | Diego Elio Pettenò | 2017-01-15 | 1 | -4/+6 |
| | | | | It's usually cheap and can provide assurance the device is connected and the right type. | ||||
* | Wrap the meter information to a namedtuple, instead of a string. | Diego Elio Pettenò | 2017-01-15 | 8 | -57/+78 |
| | | | | | | This matches the gdef MeterInfo message, and produces a similar (though not identical) string as before. Importantly, it allows providing semantic information. | ||||
* | Add a submodule pointing at gdef, to start implementing gdef export. | Diego Elio Pettenò | 2017-01-15 | 2 | -0/+3 |
| | | | | For now there is nothing using gdef, so this submodule does not need to be implemented. | ||||
* | Merge pull request #6 from lgp171188/map_func_call_fix | Diego Elio Pettenò | 2016-11-17 | 1 | -2/+2 |
|\ | | | | | Fix error in call to map() function | ||||
| * | Fix error in call to map() function | L. Guruprasad | 2016-11-16 | 1 | -2/+2 |
|/ | |||||
* | freestyle_optium: ignore β-ketones results from dumps. | Diego Elio Pettenò | 2016-08-31 | 1 | -4/+7 |
| | | | | | Since there is no way to expose non-glucose readings right now (I might work on that in the future), filter β-ketones results out from the dump. | ||||
* | freestyle_optium: fix reversed parameters to map(). | Diego Elio Pettenò | 2016-08-31 | 1 | -1/+1 |
| | | | | Not sure how this ever worked. | ||||
* | freestyle_optium: remove debugging print. | Diego Elio Pettenò | 2016-08-31 | 1 | -1/+0 |
| | |||||
* | sdcodefree: fix brainfart in README. | Diego Elio Pettenò | 2016-06-19 | 1 | -1/+1 |
| | |||||
* | sdcodefree: new driver. | Diego Elio Pettenò | 2016-06-19 | 2 | -0/+193 |
| | | | | | This driver supports SD Codefree readers, that are sold in the UK by HomeHealth UK. | ||||
* | otverio2015: fix date/time handling, which was broken outside of UTC. | Diego Elio Pettenò | 2016-05-21 | 1 | -1/+1 |
| | |||||
* | otverio2015: implement proper glucose unit identification. | Diego Elio Pettenò | 2016-05-21 | 1 | -3/+22 |
| | | | | | I managed to get my hands on an US-edition of the device, and I can confirm this behaves in a similar way to the otultraeasy. | ||||
* | Add backup files to .gitignore. | Diego Elio Pettenò | 2016-03-02 | 1 | -0/+1 |
| | |||||
* | Use a more Pythonic map(..., int) instead of list comprehension. | Diego Elio Pettenò | 2016-03-02 | 2 | -4/+4 |
| | |||||
* | Move the InvalidChecksum exception to the base exceptions module. | Diego Elio Pettenò | 2016-03-02 | 8 | -23/+15 |
| | | | | | Most glucometers have *some* sort of checksum, so there is no reason to implement this on a per-driver basis. | ||||
* | accuchek_reports: add a new driver for Accu-Chek Mobile meters. | Diego Elio Pettenò | 2016-02-15 | 2 | -0/+131 |
| | | | | | | | | | The default USB connection provides a USB storage device with a CSV datafile. This driver works by looking for that file and importing it. This does not support setting the time, nor reading the actual device time, but it is at least a good way to import data from different meters under the same format. | ||||
* | doc: use tables for devices, drivers, features and dependencies. | Diego Elio Pettenò | 2016-02-15 | 1 | -13/+33 |
| | | | | | This should provide more information on the devices themselves, particularly now that different levels of features are available. | ||||
* | otultra2: make the before/after meal constants in common module. | Diego Elio Pettenò | 2016-02-15 | 2 | -4/+9 |
| | | | | This will lead the way to providing meal information with future drivers. | ||||
* | otverio2015: new driver for OneTouch Verio (2015) and similar devices. | Diego Elio Pettenò | 2016-02-14 | 2 | -0/+231 |
| | | | | | | | | This should be working for OneTouch Select Plus devices, too. It currently does not support reporting in the native unit of the device. As of today, you'll also need my forked repository of python-scsi, as the current upstream one does not have working SGIO for Linux. | ||||
* | Make the ConnectionFailed exception more generic. | Diego Elio Pettenò | 2016-02-13 | 1 | -2/+2 |
| | |||||
* | otultraeasy: move the MalformedCommand exception to common. | Diego Elio Pettenò | 2016-02-13 | 2 | -11/+17 |
| | | | | | Also make the exception more general, so that it can be used in the verio2015 driver. | ||||
* | otultraeasy: move the crc function to lifescan_common. | Diego Elio Pettenò | 2016-02-13 | 3 | -16/+27 |
| | | | | | The same CRC-CCITT function is used in Verio 2015 devices, so prepare to reuse it by moving it to the common module. | ||||
* | Update documentation, reference the new glucometer-protocols repository. | Diego Elio Pettenò | 2016-02-09 | 2 | -5/+20 |
| | | | | Also update copyright year. | ||||
* | freestyle_optium: implement checksum verification on results. | Diego Elio Pettenò | 2016-02-09 | 1 | -2/+26 |
| | | | | | This should ensure more integrity of the results, and matches the behaviour on the lifescan devices. | ||||
* | Implement a basic driver for the FreeStyle Optium devices. | Diego Elio Pettenò | 2016-02-08 | 2 | -0/+256 |
| | | | | | This driver supports dumping of (glucose) readings and reading/setting the clock. | ||||
* | otultra2: avoid using connect/disconnect to wake up the device. | Diego Elio Pettenò | 2014-02-08 | 1 | -3/+2 |
| | | | | It seems like the device is very sensible to the reset command. | ||||
* | Add a note that the Ultra Easy is also known as Ultra Mini. | Diego Elio Pettenò | 2014-01-29 | 1 | -2/+3 |
| | |||||
* | otultra2: move checksum function within otultra2 driver. | Diego Elio Pettenò | 2014-01-29 | 4 | -49/+28 |
| | | | | | The function is not shared with the Ultra Easy and likely not with other devices either. | ||||
* | Initial support for OneTouch Ultra Easy glucometers. | Diego Elio Pettenò | 2014-01-29 | 3 | -3/+398 |
| | | | | | The driver is fully functional but requires proper documentation and testing. | ||||
* | common: fix namedtuple usage to allow for optional parameters. | Diego Elio Pettenò | 2014-01-29 | 1 | -3/+3 |
| | | | | The otultraeasy does not provide comments or meal indications. | ||||
* | Add connect/disconnect methods to otultra2 and send \x11\r on connection. | Diego Elio Pettenò | 2014-01-29 | 2 | -5/+12 |
| | | | | | The otultraeasy requires explicit connect/disconnect so implementing this before is helpful. | ||||
* | Merge pull request #1 from jimsiff/master | Diego Elio Pettenò | 2013-12-14 | 1 | -2/+7 |
|\ | | | | | Add confirmation prompt to zero log argument | ||||
| * | Add confirmation prompt to zero log argument | jimsiff | 2013-12-14 | 1 | -2/+7 |
|/ | | | | | I’m sure there’s a cleaner way to do this, but I wanted a confirmation when zeroing the glucometer data log. | ||||
* | Update documentation for the dump format and options. | Diego Elio Pettenò | 2013-12-11 | 1 | -0/+20 |
| | |||||
* | Clean up the code to remove methods that should be functions and imports. | Diego Elio Pettenò | 2013-12-11 | 3 | -122/+115 |
| | |||||
* | Allow sorting the dumped data; sort by date by default. | Diego Elio Pettenò | 2013-12-11 | 2 | -6/+18 |
| | | | | | This changes the dump output for otultra2 devices as they would dump data in record format, last reading first. | ||||
* | Change all the internal representations to mg/dL for compatibility with LifeScan. | Diego Elio Pettenò | 2013-12-11 | 2 | -15/+12 |
| | | | | | | 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. | ||||
* | glucometer.py: if no unit is provided on command line, use the default of the meter. | Diego Elio Pettenò | 2013-12-11 | 1 | -1/+5 |
| | |||||
* | Generalise the meal/comment handling to the Reading object. | Diego Elio Pettenò | 2013-12-11 | 3 | -8/+18 |
| | | | | | While not all readers implement before/after meal notes, it's possible to implement an heuristics for that. | ||||
* | otultra2: expose the meal and comments as separate field in the CSV. | Diego Elio Pettenò | 2013-12-11 | 1 | -5/+1 |
| | | | | | Idea by Jim Sifferle, implemented in a slightly different way as I noticed I forgot to quote it properly. | ||||
* | Better error handling. | Diego Elio Pettenò | 2013-12-08 | 2 | -22/+24 |
| | | | | | If any exception is thrown by the library, print an error statement and return a non-zero exit value. | ||||
* | Add a new command to dump the identification of the glucometer. | Diego Elio Pettenò | 2013-12-08 | 2 | -4/+26 |
| | | | | This allows to get the serial number, as well as other details about the glucometer once it's installed. | ||||
* | otultra2: implement a zero log command to clear a device's memory. | Diego Elio Pettenò | 2013-12-08 | 2 | -1/+20 |
| | |||||
* | otultra2: implement decoding of meal and comment codes. | Diego Elio Pettenò | 2013-12-08 | 3 | -3/+35 |
| | | | | This also dumps the comment with the dump command. | ||||
* | Read more data out of the OTUltra2 dump lines. Return data in a Reading object. | Diego Elio Pettenò | 2013-09-29 | 3 | -12/+32 |
| | | | | | The Reading object will be extended to cater for flags, comments and other device-specific information. | ||||
* | Fix style for tests. | Diego Elio Pettenò | 2013-09-29 | 3 | -68/+60 |
| | |||||
* | test_otultra2: factor out setting of returned serial string. | Diego Elio Pettenò | 2013-08-10 | 1 | -9/+9 |
| | |||||
* | glucometer: allow providing a freeform arbitrary date to set on the meter. | Diego Elio Pettenò | 2013-08-04 | 1 | -2/+10 |
| | |||||
* | setup.py: update license specification. | Diego Elio Pettenò | 2013-08-03 | 1 | -1/+1 |
| | |||||
* | glucometer: mark executable. | Diego Elio Pettenò | 2013-08-03 | 1 | -0/+0 |
| | |||||
* | Relicense everything under MIT license. | Diego Elio Pettenò | 2013-08-03 | 10 | -684/+27 |
| | | | | | 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. | ||||
* | Implement the correct checksum algorithm. | Diego Elio Pettenò | 2013-08-03 | 3 | -34/+13 |
| | | | | | | | Unlike what I though, OneTouch2 does not use CRC32 Sick algorithm, but a very stupid full 16-bit modulo sum of the bytes in the reply. This is very simple and does not require GPLv3 code at all. | ||||
* | Add support for checksum verification for the otultra2 driver. | Diego Elio Pettenò | 2013-08-03 | 5 | -29/+139 |
| | | | | | | | 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). | ||||
* | glucometer: remove unused argv usage. | Diego Elio Pettenò | 2013-08-03 | 1 | -2/+1 |
| | |||||
* | Update function names to follow PEP8. | Diego Elio Pettenò | 2013-08-03 | 6 | -43/+54 |
| | |||||
* | Add utf-8 encoding specification to all files. | Diego Elio Pettenò | 2013-08-03 | 7 | -0/+8 |
| | |||||
* | glucometer: add support for selecting output units on dump. | Diego Elio Pettenò | 2013-08-03 | 1 | -1/+4 |
| | |||||
* | glucometer: fix script to actually work and provide actions. | Diego Elio Pettenò | 2013-08-03 | 1 | -2/+13 |
| | |||||
* | Add tests for the glucose unit conversion. | Diego Elio Pettenò | 2013-08-03 | 1 | -0/+53 |
| | |||||
* | test_otultra2: add header. | Diego Elio Pettenò | 2013-08-03 | 1 | -0/+7 |
| | |||||
* | otultra2: fix default unit handling. | Diego Elio Pettenò | 2013-08-03 | 1 | -1/+2 |
| | |||||
* | Add a link to README.md to try rendering it on GitHub. | Diego Elio Pettenò | 2013-08-03 | 1 | -0/+1 |
| | |||||
* | Initial import of the raw data. | Diego Elio Pettenò | 2013-08-03 | 12 | -0/+1142 |