So far not so good. I contacted Bayer last week, so far no reply… I will try to contact our local company which imports Ascensia/Bayer products to see if I can get a test device…
Now I have taken a look at Glucofacts and so far it looks that you need to access device directly, via USB dll files, if this is the case, then support might be impossible, at least in all OSes kind of way. We usually only add devices, that we can support on all platforms…
I hope we can get some answers from any of the sources… so that we can also support this Contour USB…
Take care for now. I will keep you posted on progress through this forum.
LP
Andy
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I've mostly gotten the Contour USB figured out. It's very similar to how the other Bayer meters work, but uses a USB HID-class interface instead of a serial port.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I know how it works, problem is that to support this meter we would need to have usb-hid dll for each platform, which Bayer doesn't supply. Now… if we could access USB device directly through java, that would be breakthrough… There are Java USB libraries out there… I am just not sure how good they are, or if they are good enough, for what we need… When I get testing device I will see what can be done, and how device handles on Linux, Mac and FreeBSD… Maybe one of this Java USB libs will do the trick…
Andy
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I'm currently talking to it using python and libusb. There seems to be a libusb java wrapper at http://kenai.com/projects/libusb4j, and libusb itself is available on at least linux, windows and macos, so I think it should be doable. Once I have it going in python I can give it a try to get it going from java.
Incidentally, do you have any information about the meter interface that you can share?
/Anders
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi Anders !
Please contact me directly (andy.rozman@gmail.com) and I will send you old documentation. If they haven't changed anything this should work… if they have then we will have problems…
I looked over old projects about libusb, and all seems to be quite old… I will test this one from link you sent me to see if it is ok… It seems that libusb can be compiled on most of platform, so if this work, it should be the way to go…
Andy
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Just a quick sidenote: libusb seems to be installed by default on my Kubuntu 10.10. In fact, there are two installed versions: 0.1.12 and 1.0.8.
The older version seems to be pulled in by stuff like cups, gnupg and some basic KDE libraries, so I would assume that it's available on most Linux boxen.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I did some preliminary testing. Libusb4j works fine on linux, but not so good on windows… I have tried on both x32 and x64 platform… Libusb works fine (it detects devices), but libusb4j just shows number of devices, but all structures are empty… and I can't access any of devices… It seems that libusb-win32 library is not ported correctly or that windows have problem with usb…
Andy
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi !
Like I said this library currently doesn't work on Windows. It seems that windows uses different version (0.1.12.x), which is not supported by these classes. I need to check first if perhaps problem is with my configuration, but original test software that comes with libusb-win32 displays devices… I will first do a sample in c++, to see if library works, and if it works, then the problem is with our libusb4j implementation. I will try to find developer of this library, maybe he knows where problem could lie, I will let you know how testing proceeds…
I have already started working on modification of GGC to support USB devices through libusb4j. So iko let me know when you need it and I will give you some pointers on how to use this… If I will manage to get test device from our importer I might try this myself, but currently this is no go…
Andy
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi folks,
I know it's an old thread, but I still wanted to ask since this is very interesting to me. Have you managed to get readings from the contour USB device through Java code?
@Andy: Is it possible for you to send me(pyemus@gmail.com) some documentation on the meter interface?
/Peter
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
If you look carefully, you'll see that the forum ate a indexing of buffer in the print call at the end. it should say (hoping this doesn't get eaten too)
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi !
Thanks for code, now only problem is that this HID library is intended only for Windows system which makes it not suitable for GGC. Most of GGC users are Linux or Mac users dissatisfied with Hardware support for their machine. Most of Diabetes Vendors target only Windows machine and forger about "little" people.
But since you supplied me with working code, I can use this to test other libraries.
Thanks for info it will be a great help.
Andy
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Anonymous
-
2013-03-29
JNA is a cross platform java library to reference the native OS USB HID on Windows, Macintosh, and Linux.
rus
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Rus: JNA is not cross platform library, at least not in that sense… If you had library that could work on all platforms, you could, build a new Java Library, that would use native library. I tried experimenting with JNA, together with libusb-0.1 and libusb-1.0, both work on Linux, but not on Windows, at least not good enough.
I have now find java HID API, which works OK on both platforms (HID are some of USB devices, which store data in so called reports, ContourUSB is one of such devices). I started working on reading data from device, but it's much trickier that it should be. I am still waiting for protocol data from Bayer, which will shorten my way to success. I am currently working with help of C++ library, which can read data from ContoruUSB, but so far I got all initialization finished, but reading still eludes me. But we are getting there… Release of GGC is comming up, so this won't be inside of it, but I hope to build some minor release for all waiting for this in near future.
Andy
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
You did, and I also have code from Insulaudit, but I can't read it, and I don't have time to learn. I found C library that can read (I think it does a lot of unnecessary things too), only problem is that I can't get it to run on my own computer (I got it running on my work computer) so that I could add comments and see where does java have problem with code… I think that a little problem is that my HID reading (from Library I use) is blocking, which in C is not (you get error on read, but software is not blocked there… I need to have a look through code, since everythhing works, except reading BG entries. Init of library goes through, but reading of entries doesn't…
So this will have to wait a little, for me to work it through…
Andy
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Support for Contour USB meters is ready, it will be shipped with next release. Only change I need is adding of correct library for HID communication. I am currently using hid4java 0.3.1 which works OK, but since it's for wrong java I can't use it, so I am trying to build my own, which is giving me problem at the time. But nonetheless support will be in 0.7 (end of 2015)
Andy
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I bought a Contour Next USB thinking it would be easy to get data out of. Sure, on Windows - on Linux, not so much. The application it comes with can't read the meter on Linux for some reason. Probably some native USB code in there.
So I came across this project and I see you have even integrated support for my device. So maybe I can help somehow, at least some testing. I am a Java developer with some experience, too.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi Doug !
I will have package ready in few days, because I too now own this meter (for last 6 months)... I can send it to you if you want, but you will need to install latest realease and then just overwrite it with this files I sent you...
As for original software. I think you need to download professional version and overwrite version on device with it. At least it was soo, when I got my first Contour USB. They have some kind of Lite version on device, which is intended for Windows (missing native files for other platforms).
I will perhaps even deploy it on site, for all other Contour owners... Next official release is planned for end of year... so this upgrade can be just for between...
Andy
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I downloaded the trunk but it looks like I'm going to need a little help building it. I will post a query on "General Discussion" about this because it doesn't have anything essentially to do with this topic.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi !
Code is not checked in yet... Instructions on how to build are in ggc-desktop/docs/How_Can_I_Help.txt, but at this point not all libraries are there in maven repository... Please wait few days... I hope to have it done with till 10.10....
Andy
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I spotted the update to 0.6.1 so I have downloaded and installed it. My meter is in the support list (Bayer Contour Next USB) and configures successfully but it throws a NullPointer when I try to download the data. Console trace below. Would you prefer a bug report?
djc@bolli:~/ggc-0.6.1/bin$ . run_linux.sh
Picked up JAVA_TOOL_OPTIONS: -javaagent:/usr/share/java/jayatanaag.jar
=============================================================================
=== Startup/Update Manager ===
=== Startup file created succesfully. ===
=============================================================================
Picked up JAVA_TOOL_OPTIONS: -javaagent:/usr/share/java/jayatanaag.jar
** Db Check v0.1 *******
20:16:01,375 INFO [HibernateConfiguration:341] - Loading Db Configuration #0
20:16:01,385 INFO [GGCDbConfig:138] - GGCDb: Loading Db Configuration #0: Internal Db (H2)
20:16:01,499 INFO [Environment:479] - Hibernate 3.1.3
20:16:01,519 INFO [Environment:509] - hibernate.properties not found
20:16:01,525 INFO [Environment:525] - using CGLIB reflection optimizer
20:16:01,547 INFO [Environment:555] - using JDK 1.4 java.sql.Timestamp handling
20:16:01,737 INFO [Configuration:469] - Reading mappings from resource: DbInfo.hbm.xml
20:16:02,680 INFO [HbmBinder:309] - Mapping class: com.atech.db.hibernate.check.DbInfoH -> db_info
20:16:02,936 INFO [DriverManagerConnectionProvider:41] - Using Hibernate built-in connection pool (not for production use!)
20:16:02,938 INFO [DriverManagerConnectionProvider:42] - Hibernate connection pool size: 20
20:16:02,939 INFO [DriverManagerConnectionProvider:45] - autocommit mode: false
20:16:02,962 INFO [DriverManagerConnectionProvider:80] - using driver: org.h2.Driver at URL: jdbc:h2:../data/db/ggc_db
20:16:02,973 INFO [DriverManagerConnectionProvider:86] - connection properties: {user=sa, password=, charSet=utf-8}
20:16:04,972 INFO [SettingsFactoryWithException:66] - RDBMS: H2, version: 1.0.69 (2008-03-29)
20:16:04,975 INFO [SettingsFactoryWithException:67] - JDBC driver: H2 JDBC Driver, version: 1.0.69 (2008-03-29)
20:16:05,070 INFO [Dialect:103] - Using dialect: org.hibernate.dialect.H2Dialect
20:16:05,113 INFO [TransactionFactoryFactory:31] - Using default transaction strategy (direct JDBC transactions)
20:16:05,129 INFO [TransactionManagerLookupFactory:33] - No TransactionManagerLookup configured (in JTA environment, use of read-write or transactional second-level cache is not recommended)
20:16:05,130 INFO [SettingsFactoryWithException:115] - Automatic flush during beforeCompletion(): disabled
20:16:05,131 INFO [SettingsFactoryWithException:119] - Automatic session close at end of transaction: disabled
20:16:05,132 INFO [SettingsFactoryWithException:126] - JDBC batch size: 15
20:16:05,133 INFO [SettingsFactoryWithException:129] - JDBC batch updates for versioned data: disabled
20:16:05,136 INFO [SettingsFactoryWithException:134] - Scrollable result sets: enabled
20:16:05,138 INFO [SettingsFactoryWithException:142] - JDBC3 getGeneratedKeys(): enabled
20:16:05,139 INFO [SettingsFactoryWithException:150] - Connection release mode: auto
20:16:05,144 INFO [SettingsFactoryWithException:177] - Default batch fetch size: 1
20:16:05,146 INFO [SettingsFactoryWithException:181] - Generate SQL with comments: disabled
20:16:05,147 INFO [SettingsFactoryWithException:185] - Order SQL updates by primary key: disabled
20:16:05,147 INFO [SettingsFactory:338] - Query translator: org.hibernate.hql.ast.ASTQueryTranslatorFactory
20:16:05,169 INFO [ASTQueryTranslatorFactory:24] - Using ASTQueryTranslatorFactory
20:16:05,173 INFO [SettingsFactoryWithException:193] - Query language substitutions: {}
20:16:05,181 INFO [SettingsFactoryWithException:199] - Second-level cache: enabled
20:16:05,182 INFO [SettingsFactoryWithException:203] - Query cache: disabled
20:16:05,183 INFO [SettingsFactory:325] - Cache provider: org.hibernate.cache.EhCacheProvider
20:16:05,197 INFO [SettingsFactoryWithException:218] - Optimize cache for minimal puts: disabled
20:16:05,198 INFO [SettingsFactoryWithException:227] - Structured second-level cache entries: disabled
20:16:05,235 INFO [SettingsFactoryWithException:254] - Statistics: disabled
20:16:05,238 INFO [SettingsFactoryWithException:258] - Deleted entity synthetic identifier rollback: disabled
20:16:05,239 INFO [SettingsFactoryWithException:273] - Default entity-mode: pojo
20:16:05,366 INFO [SessionFactoryImpl:154] - building session factory
20:16:05,373 DEBUG [CacheManager:191] - Creating new CacheManager with default config
20:16:05,391 DEBUG [CacheManager:164] - Configuring ehcache from classpath.
20:16:05,431 WARN [Configurator:126] - No configuration found. Configuring ehcache from ehcache-failsafe.xml found in the classpath: jar:file:/home/djc/ggc-0.6.1/lib/hibernate3/ehcache-1.1.jar!/ehcache-failsafe.xml
20:16:05,462 DEBUG [Configuration$DiskStore:185] - Disk Store Path: /tmp
20:16:06,320 INFO [SessionFactoryObjectFactory:82] - Not binding factory to JNDI, no JNDI name configured
Picked up JAVA_TOOL_OPTIONS: -javaagent:/usr/share/java/jayatanaag.jar
20:16:08,579 INFO [HibernateConfiguration:341] - Loading Db Configuration #0
20:16:08,592 INFO [GGCDbConfig:138] - GGCDb: Loading Db Configuration #0: Internal Db (H2)
20:16:08,650 ERROR [PropertiesFile:132] - PropertiesFile: Error reading file: ../data/tools/translation/TranslationGGC.config
20:16:09,032 DEBUG [ATDataAccessLMAbstract:75] - Loading Language Manager
20:16:09,526 INFO [DataAccess:1611] - Start internal Web Server
20:16:09,727 WARN [ConfigurationManager:328] - Configuration key BG_UNIT doesn't exist.
20:16:12,909 ERROR [PropertiesFile:132] - PropertiesFile: Error reading file: ../data/tools/translation/TranslationGGC.config
20:16:12,917 DEBUG [ATDataAccessLMAbstract:75] - Loading Language Manager
20:16:12,919 INFO [DataAccess:1611] - Start internal Web Server
20:16:12,969 WARN [ConfigurationManager:328] - Configuration key BG_UNIT doesn't exist.
20:16:13,665 DEBUG [MainFrame:849] - JavaHelp - START
20:16:13,666 DEBUG [MainFrame:856] - JavaHelp - HelpContext: com.atech.help.HelpContext@56befa21
20:16:13,671 DEBUG [MainFrame:864] - JavaHelp - MainHelpSetName: /help/en/GGC.hs
20:16:14,029 DEBUG [MainFrame:888] - JavaHelp - Main Help Set present, creating broker.
20:16:14,280 DEBUG [MainFrame:914] - JavaHelp - END
20:16:15,367 WARN [ConfigurationManager:328] - Configuration key SW_MODE_DESC doesn't exist.
20:16:15,388 WARN [ConfigurationManager:328] - Configuration key SW_MODE doesn't exist.
20:16:15,483 INFO [GGCDb:262] - createConfiguration() - Process
20:16:15,492 INFO [HibernateConfiguration:341] - Loading Db Configuration #0
20:16:15,493 INFO [GGCDbConfig:138] - GGCDb: Loading Db Configuration #0: Internal Db (H2)
20:16:15,749 INFO [Environment:479] - Hibernate 3.1.3
20:16:15,817 INFO [Environment:509] - hibernate.properties not found
20:16:15,863 INFO [Environment:525] - using CGLIB reflection optimizer
20:16:15,907 INFO [Environment:555] - using JDK 1.4 java.sql.Timestamp handling
20:16:15,923 DEBUG [RedirectScreen:170] - setMenusByDbLoad: 0
20:16:16,473 INFO [Configuration:469] - Reading mappings from resource: GGC_Main.hbm.xml
20:16:19,030 INFO [HbmBinder:309] - Mapping class: ggc.core.db.hibernate.DayValueH -> data_dayvalues
20:16:19,326 INFO [HbmBinder:309] - Mapping class: ggc.core.db.hibernate.DoctorTypeH -> doc_types
20:16:19,338 INFO [HbmBinder:309] - Mapping class: ggc.core.db.hibernate.DoctorH -> doc_doctors
20:16:20,206 INFO [HbmBinder:309] - Mapping class: ggc.core.db.hibernate.AppointmentH -> doc_appointment
20:16:20,241 INFO [HbmBinder:309] - Mapping class: ggc.core.db.hibernate.SettingsH -> cfg_settings
20:16:20,266 INFO [HbmBinder:309] - Mapping class: ggc.core.db.hibernate.ColorSchemeH -> cfg_colorscheme
20:16:20,298 INFO [HbmBinder:309] - Mapping class: ggc.core.db.hibernate.DbInfoH -> db_info
20:16:20,322 INFO [Configuration:469] - Reading mappings from resource: GGC_Nutrition.hbm.xml
20:16:20,691 INFO [HbmBinder:309] - Mapping class: ggc.core.db.hibernate.NutritionDefinitionH -> nutrition_definition
20:16:20,699 INFO [HbmBinder:309] - Mapping class: ggc.core.db.hibernate.NutritionHomeWeightTypeH -> nutrition_home_weight_type
20:16:20,716 INFO [HbmBinder:309] - Mapping class: ggc.core.db.hibernate.FoodGroupH -> nutrition_usda_food_group
20:16:20,752 INFO [HbmBinder:309] - Mapping class: ggc.core.db.hibernate.FoodDescriptionH -> nutrition_usda_food_description
20:16:20,763 INFO [HbmBinder:309] - Mapping class: ggc.core.db.hibernate.FoodUserGroupH -> nutrition_user_food_group
20:16:20,783 INFO [HbmBinder:309] - Mapping class: ggc.core.db.hibernate.FoodUserDescriptionH -> nutrition_user_food_description
20:16:20,843 INFO [HbmBinder:309] - Mapping class: ggc.core.db.hibernate.MealGroupH -> meal_group
20:16:20,847 INFO [HbmBinder:309] - Mapping class: ggc.core.db.hibernate.MealH -> meal_meal
20:16:20,889 INFO [Configuration:469] - Reading mappings from resource: GGC_Other.hbm.xml
20:16:21,290 INFO [HbmBinder:309] - Mapping class: ggc.core.db.hibernate.InetGroupH -> inet_group
20:16:21,315 INFO [HbmBinder:309] - Mapping class: ggc.core.db.hibernate.InetTypeH -> inet_type
20:16:21,357 INFO [HbmBinder:309] - Mapping class: ggc.core.db.hibernate.InetLinkGroupH -> inet_link_group
20:16:21,388 INFO [HbmBinder:309] - Mapping class: ggc.core.db.hibernate.InetLinkH -> inet_link
20:16:21,411 INFO [Configuration:469] - Reading mappings from resource: GGC_Pump.hbm.xml
20:16:21,642 INFO [HbmBinder:309] - Mapping class: ggc.core.db.hibernate.pump.PumpDataH -> pump_data
20:16:21,677 INFO [HbmBinder:309] - Mapping class: ggc.core.db.hibernate.pump.PumpDataExtendedH -> pump_data_ext
20:16:21,707 INFO [HbmBinder:309] - Mapping class: ggc.core.db.hibernate.pump.PumpProfileH -> pump_profile
20:16:21,753 INFO [Configuration:469] - Reading mappings from resource: GGC_CGMS.hbm.xml
20:16:21,977 INFO [HbmBinder:309] - Mapping class: ggc.core.db.hibernate.cgms.CGMSDataH -> cgm_data
20:16:21,980 INFO [HbmBinder:309] - Mapping class: ggc.core.db.hibernate.cgms.CGMSDataExtendedH -> cgm_data_ext
20:16:21,999 INFO [GGCDb:262] - createConfiguration() - Process
20:16:22,009 INFO [HibernateConfiguration:341] - Loading Db Configuration #0
20:16:22,021 INFO [GGCDbConfig:138] - GGCDb: Loading Db Configuration #0: Internal Db (H2)
20:16:22,027 INFO [Configuration:469] - Reading mappings from resource: GGC_Main.hbm.xml
20:16:22,407 INFO [HbmBinder:309] - Mapping class: ggc.core.db.hibernate.DayValueH -> data_dayvalues
20:16:22,415 INFO [HbmBinder:309] - Mapping class: ggc.core.db.hibernate.DoctorTypeH -> doc_types
20:16:22,445 INFO [HbmBinder:309] - Mapping class: ggc.core.db.hibernate.DoctorH -> doc_doctors
20:16:22,448 INFO [HbmBinder:309] - Mapping class: ggc.core.db.hibernate.AppointmentH -> doc_appointment
20:16:22,476 INFO [HbmBinder:309] - Mapping class: ggc.core.db.hibernate.SettingsH -> cfg_settings
20:16:22,482 INFO [HbmBinder:309] - Mapping class: ggc.core.db.hibernate.ColorSchemeH -> cfg_colorscheme
20:16:22,511 INFO [HbmBinder:309] - Mapping class: ggc.core.db.hibernate.DbInfoH -> db_info
20:16:22,530 INFO [Configuration:469] - Reading mappings from resource: GGC_Nutrition.hbm.xml
20:16:22,846 INFO [HbmBinder:309] - Mapping class: ggc.core.db.hibernate.NutritionDefinitionH -> nutrition_definition
20:16:22,863 INFO [HbmBinder:309] - Mapping class: ggc.core.db.hibernate.NutritionHomeWeightTypeH -> nutrition_home_weight_type
20:16:22,869 INFO [HbmBinder:309] - Mapping class: ggc.core.db.hibernate.FoodGroupH -> nutrition_usda_food_group
20:16:22,894 INFO [HbmBinder:309] - Mapping class: ggc.core.db.hibernate.FoodDescriptionH -> nutrition_usda_food_description
20:16:22,904 INFO [HbmBinder:309] - Mapping class: ggc.core.db.hibernate.FoodUserGroupH -> nutrition_user_food_group
20:16:22,918 INFO [HbmBinder:309] - Mapping class: ggc.core.db.hibernate.FoodUserDescriptionH -> nutrition_user_food_description
20:16:22,922 INFO [HbmBinder:309] - Mapping class: ggc.core.db.hibernate.MealGroupH -> meal_group
20:16:22,942 INFO [HbmBinder:309] - Mapping class: ggc.core.db.hibernate.MealH -> meal_meal
20:16:22,954 INFO [Configuration:469] - Reading mappings from resource: GGC_Other.hbm.xml
20:16:23,205 INFO [HbmBinder:309] - Mapping class: ggc.core.db.hibernate.InetGroupH -> inet_group
20:16:23,214 INFO [HbmBinder:309] - Mapping class: ggc.core.db.hibernate.InetTypeH -> inet_type
20:16:23,228 INFO [HbmBinder:309] - Mapping class: ggc.core.db.hibernate.InetLinkGroupH -> inet_link_group
20:16:23,242 INFO [HbmBinder:309] - Mapping class: ggc.core.db.hibernate.InetLinkH -> inet_link
20:16:23,267 INFO [Configuration:469] - Reading mappings from resource: GGC_Pump.hbm.xml
20:16:23,505 INFO [HbmBinder:309] - Mapping class: ggc.core.db.hibernate.pump.PumpDataH -> pump_data
20:16:23,513 INFO [HbmBinder:309] - Mapping class: ggc.core.db.hibernate.pump.PumpDataExtendedH -> pump_data_ext
20:16:23,528 INFO [HbmBinder:309] - Mapping class: ggc.core.db.hibernate.pump.PumpProfileH -> pump_profile
20:16:23,565 INFO [Configuration:469] - Reading mappings from resource: GGC_CGMS.hbm.xml
20:16:23,795 INFO [HbmBinder:309] - Mapping class: ggc.core.db.hibernate.cgms.CGMSDataH -> cgm_data
20:16:23,802 INFO [HbmBinder:309] - Mapping class: ggc.core.db.hibernate.cgms.CGMSDataExtendedH -> cgm_data_ext
20:16:23,943 INFO [DriverManagerConnectionProvider:41] - Using Hibernate built-in connection pool (not for production use!)
20:16:23,953 INFO [DriverManagerConnectionProvider:42] - Hibernate connection pool size: 20
20:16:23,959 INFO [DriverManagerConnectionProvider:45] - autocommit mode: false
20:16:24,026 INFO [DriverManagerConnectionProvider:80] - using driver: org.h2.Driver at URL: jdbc:h2:../data/db/ggc_db
20:16:24,027 INFO [DriverManagerConnectionProvider:86] - connection properties: {user=sa, password=***, charSet=utf-8}
20:16:26,921 INFO [SettingsFactoryWithException:66] - RDBMS: H2, version: 1.0.69 (2008-03-29)
20:16:26,925 INFO [SettingsFactoryWithException:67] - JDBC driver: H2 JDBC Driver, version: 1.0.69 (2008-03-29)
20:16:27,124 INFO [Dialect:103] - Using dialect: org.hibernate.dialect.H2Dialect
20:16:27,207 INFO [TransactionFactoryFactory:31] - Using default transaction strategy (direct JDBC transactions)
20:16:27,243 INFO [TransactionManagerLookupFactory:33] - No TransactionManagerLookup configured (in JTA environment, use of read-write or transactional second-level cache is not recommended)
20:16:27,244 INFO [SettingsFactoryWithException:115] - Automatic flush during beforeCompletion(): disabled
20:16:27,249 INFO [SettingsFactoryWithException:119] - Automatic session close at end of transaction: disabled
20:16:27,251 INFO [SettingsFactoryWithException:126] - JDBC batch size: 15
20:16:27,252 INFO [SettingsFactoryWithException:129] - JDBC batch updates for versioned data: disabled
20:16:27,259 INFO [SettingsFactoryWithException:134] - Scrollable result sets: enabled
20:16:27,261 INFO [SettingsFactoryWithException:142] - JDBC3 getGeneratedKeys(): enabled
20:16:27,261 INFO [SettingsFactoryWithException:150] - Connection release mode: auto
20:16:27,278 INFO [SettingsFactoryWithException:177] - Default batch fetch size: 1
20:16:27,297 INFO [SettingsFactoryWithException:181] - Generate SQL with comments: disabled
20:16:27,299 INFO [SettingsFactoryWithException:185] - Order SQL updates by primary key: disabled
20:16:27,301 INFO [SettingsFactory:338] - Query translator: org.hibernate.hql.ast.ASTQueryTranslatorFactory
20:16:27,316 INFO [ASTQueryTranslatorFactory:24] - Using ASTQueryTranslatorFactory
20:16:27,333 INFO [SettingsFactoryWithException:193] - Query language substitutions: {}
20:16:27,334 INFO [SettingsFactoryWithException:199] - Second-level cache: enabled
20:16:27,335 INFO [SettingsFactoryWithException:203] - Query cache: disabled
20:16:27,337 INFO [SettingsFactory:325] - Cache provider: org.hibernate.cache.EhCacheProvider
20:16:27,373 INFO [SettingsFactoryWithException:218] - Optimize cache for minimal puts: disabled
20:16:27,374 INFO [SettingsFactoryWithException:227] - Structured second-level cache entries: disabled
20:16:27,430 INFO [SettingsFactoryWithException:254] - Statistics: disabled
20:16:27,433 INFO [SettingsFactoryWithException:258] - Deleted entity synthetic identifier rollback: disabled
20:16:27,434 INFO [SettingsFactoryWithException:273] - Default entity-mode: pojo
20:16:27,622 INFO [SessionFactoryImpl:154] - building session factory
20:16:27,629 DEBUG [CacheManager:191] - Creating new CacheManager with default config
20:16:27,646 DEBUG [CacheManager:164] - Configuring ehcache from classpath.
20:16:27,675 WARN [Configurator:126] - No configuration found. Configuring ehcache from ehcache-failsafe.xml found in the classpath: jar:file:/home/djc/ggc-0.6.1/lib/hibernate3/ehcache-1.1.jar!/ehcache-failsafe.xml
20:16:27,739 DEBUG [Configuration$DiskStore:185] - Disk Store Path: /tmp
20:16:30,173 INFO [SessionFactoryObjectFactory:82] - Not binding factory to JNDI, no JNDI name configured
20:16:30,440 DEBUG [RedirectScreen:170] - setMenusByDbLoad: 1
20:16:30,467 WARN [ConfigurationManager:328] - Configuration key SW_MODE_DESC doesn't exist.
20:16:30,487 WARN [ConfigurationManager:328] - Configuration key SW_MODE doesn't exist.
20:16:30,498 INFO [GGCDb:262] - loadConfigData() - Process
20:16:30,511 INFO [GGCDb:262] - loadColorSchemes() - Process
20:16:31,055 INFO [GGCDb:262] - loadConfigDataEntries() - Process
20:16:31,500 DEBUG [DataAccess:772] - init Plugins: Meter Tool
20:16:31,634 DEBUG [ATDataAccessLMAbstract:75] - Loading Language Manager
20:16:32,206 DEBUG [DataAccess:776] - init Plugins: Pumps Tool
20:16:32,273 DEBUG [ATDataAccessLMAbstract:75] - Loading Language Manager
20:16:32,580 ERROR [DeviceHandlerManager:53] - Handler NoHandler could not be found.
20:16:32,581 ERROR [DeviceHandlerManager:53] - Handler MinimedPumpHandler could not be found.
20:16:32,582 ERROR [DeviceHandlerManager:53] - Handler MinimedPumpHandler could not be found.
20:16:32,583 ERROR [DeviceHandlerManager:53] - Handler MinimedPumpHandler could not be found.
20:16:32,584 ERROR [DeviceHandlerManager:53] - Handler MinimedPumpHandler could not be found.
20:16:32,584 ERROR [DeviceHandlerManager:53] - Handler MinimedPumpHandler could not be found.
20:16:32,585 ERROR [DeviceHandlerManager:53] - Handler MinimedPumpHandler could not be found.
20:16:32,586 ERROR [DeviceHandlerManager:53] - Handler MinimedPumpHandler could not be found.
20:16:32,586 ERROR [DeviceHandlerManager:53] - Handler MinimedPumpHandler could not be found.
20:16:32,587 ERROR [DeviceHandlerManager:53] - Handler MinimedPumpHandler could not be found.
20:16:32,605 DEBUG [DataAccess:780] - init Plugins: CGMS Tool
20:16:32,689 DEBUG [ATDataAccessLMAbstract:75] - Loading Language Manager
20:16:32,856 DEBUG [RedirectScreen:170] - CGMS Devices V2 (registered: 2, supported: 2)
20:16:32,863 DEBUG [GGC_CGMSDb:68] - Created CGMSDb
20:16:32,864 DEBUG [DataAccess:784] - init Plugins: Nutrition Tool
20:16:32,908 DEBUG [ATDataAccessLMAbstract:75] - Loading Language Manager
20:16:32,992 DEBUG [DataAccess:1422] - Reload daily settings (force:true)
20:16:33,009 INFO [GGCDb:262] - getHbA1c() - Process
20:16:33,105 DEBUG [GGCDb:250] - getHbA1c() - Readings: 0 0
20:16:33,106 INFO [GGCDb:262] - getDayStats() - Process
20:16:33,156 INFO [GGCDb:262] - getDayStatsRange() - Process
20:16:33,165 DEBUG [GGCDb:250] - getDayStatsRange() - 20151001 - 20151007
20:16:33,207 DEBUG [StatisticsInfoPanel:211] - Statistics - Pen/Injection Mode
20:16:33,219 INFO [GGCDb:262] - getDayValuesRange() - Process
20:16:33,235 DEBUG [GGCDb:250] - getDayStatsRange() - 20151001 - 20151007
20:16:33,236 DEBUG [RedirectScreen:170] - SELECT dv from ggc.core.db.hibernate.DayValueH as dv WHERE dv.dt_info <= 201510010000 AND dv.dt_info <= 201510072359 ORDER BY dv.dt_info
20:16:33,263 DEBUG [RedirectScreen:170] - setMenusByDbLoad: 2
20:16:33,282 INFO [GGCDbNutri:1541] - loadNutritionDefinitions() - Process
20:16:33,939 INFO [GGCDbNutri:1541] - loadHomeWeights() - Process
20:16:38,260 DEBUG [RedirectScreen:170] - setMenusByDbLoad: 3
20:16:38,466 DEBUG [RedirectScreen:170] - Refresh Menus: true
20:16:38,787 DEBUG [GGCDbLoader:274] - We needed 23 seconds to startup.
(process:20819): GLib-CRITICAL **: Source ID 24 was not found when attempting to remove it
20:18:08,124 DEBUG [DeviceReaderRunner:232] - Trying to reading old data from GGC...
20:18:08,310 DEBUG [GGCMeterDb:91] - Old Meter Data in Db: 0
20:18:08,311 INFO [GGCMeterDb:114] - getMeterValues()
20:18:08,313 DEBUG [MeterDataReader:104] - Old Data reading progress [GGC_MeterTool]: 0% not started
20:18:08,314 DEBUG [GGCMeterDb:121] - getMeterValues() - Process
20:18:08,369 DEBUG [MeterDataReader:109] - Old Data reading progress [GGC_MeterTool]: 40% read from database
20:18:08,377 DEBUG [MeterDataReader:110] - Old Data reading progress [GGC_MeterTool]: Started to sort through data (progress will not be displayed)
20:18:08,381 DEBUG [RedirectScreen:170] - Old records: 0
20:18:08,391 DEBUG [DeviceReaderRunner:243] - Reading of old data finished !
20:18:08,413 DEBUG [DeviceReaderRunner:272] - Device instance (v2) prepared for reading
20:18:08,420 DEBUG [RedirectScreen:170] - dataTransfer: true
20:18:08,421 DEBUG [RedirectScreen:170] - TransferType: 1
20:18:08,422 DEBUG [DeviceReaderRunner:306] - Start reading of data
20:18:08,489 DEBUG [Hid4JavaCommunicationHandler:33] - connectAndInitDevice - USB/Hid
20:18:08,803 DEBUG [Hid4JavaCommunicationHandler:82] - Found correct device: null
20:18:08,881 ERROR [DeviceReaderRunner:370] - DeviceReaderRunner:Exception:java.lang.NullPointerException
java.lang.NullPointerException
at ggc.plugin.comm.Hid4JavaCommunicationHandler.writeWithReturn(Hid4JavaCommunicationHandler.java:161)
at ggc.meter.device.ascensia.impl.AscensiaContourUsbReader.sendDataToDevice(AscensiaContourUsbReader.java:108)
at ggc.meter.device.ascensia.impl.AscensiaContourUsbReader.readFromDevice(AscensiaContourUsbReader.java:53)
at ggc.meter.device.ascensia.AscensiaUsbMeterHandler.readDeviceData(AscensiaUsbMeterHandler.java:36)
at ggc.plugin.device.v2.DeviceInstanceWithHandler.readDeviceData(DeviceInstanceWithHandler.java:176)
at ggc.plugin.gui.DeviceReaderRunner.readDataFromDeviceV2(DeviceReaderRunner.java:311)
at ggc.plugin.gui.DeviceReaderRunner.run(DeviceReaderRunner.java:401)
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
What is the outlook to get support for my USB meter? So far nothing seems to want to download data from it.
Hi !
So far not so good. I contacted Bayer last week, so far no reply… I will try to contact our local company which imports Ascensia/Bayer products to see if I can get a test device…
Now I have taken a look at Glucofacts and so far it looks that you need to access device directly, via USB dll files, if this is the case, then support might be impossible, at least in all OSes kind of way. We usually only add devices, that we can support on all platforms…
I hope we can get some answers from any of the sources… so that we can also support this Contour USB…
Take care for now. I will keep you posted on progress through this forum.
LP
Andy
I've mostly gotten the Contour USB figured out. It's very similar to how the other Bayer meters work, but uses a USB HID-class interface instead of a serial port.
I know how it works, problem is that to support this meter we would need to have usb-hid dll for each platform, which Bayer doesn't supply. Now… if we could access USB device directly through java, that would be breakthrough… There are Java USB libraries out there… I am just not sure how good they are, or if they are good enough, for what we need… When I get testing device I will see what can be done, and how device handles on Linux, Mac and FreeBSD… Maybe one of this Java USB libs will do the trick…
Andy
I'm currently talking to it using python and libusb. There seems to be a libusb java wrapper at http://kenai.com/projects/libusb4j, and libusb itself is available on at least linux, windows and macos, so I think it should be doable. Once I have it going in python I can give it a try to get it going from java.
Incidentally, do you have any information about the meter interface that you can share?
/Anders
Hi Anders !
Please contact me directly (andy.rozman@gmail.com) and I will send you old documentation. If they haven't changed anything this should work… if they have then we will have problems…
I looked over old projects about libusb, and all seems to be quite old… I will test this one from link you sent me to see if it is ok… It seems that libusb can be compiled on most of platform, so if this work, it should be the way to go…
Andy
Just a quick sidenote: libusb seems to be installed by default on my Kubuntu 10.10. In fact, there are two installed versions: 0.1.12 and 1.0.8.
The older version seems to be pulled in by stuff like cups, gnupg and some basic KDE libraries, so I would assume that it's available on most Linux boxen.
Hi !
I did some preliminary testing. Libusb4j works fine on linux, but not so good on windows… I have tried on both x32 and x64 platform… Libusb works fine (it detects devices), but libusb4j just shows number of devices, but all structures are empty… and I can't access any of devices… It seems that libusb-win32 library is not ported correctly or that windows have problem with usb…
Andy
Hi !
Like I said this library currently doesn't work on Windows. It seems that windows uses different version (0.1.12.x), which is not supported by these classes. I need to check first if perhaps problem is with my configuration, but original test software that comes with libusb-win32 displays devices… I will first do a sample in c++, to see if library works, and if it works, then the problem is with our libusb4j implementation. I will try to find developer of this library, maybe he knows where problem could lie, I will let you know how testing proceeds…
I have already started working on modification of GGC to support USB devices through libusb4j. So iko let me know when you need it and I will give you some pointers on how to use this… If I will manage to get test device from our importer I might try this myself, but currently this is no go…
Andy
Hi folks,
I know it's an old thread, but I still wanted to ask since this is very interesting to me. Have you managed to get readings from the contour USB device through Java code?
@Andy: Is it possible for you to send me(pyemus@gmail.com) some documentation on the meter interface?
/Peter
It was a while ago, but I think I managed to talk to it on windows using a usb hid module from kslemb: http://www.blog.kslemb.com/doku.php/en/projects/globx/java_hid
I found some code which may or may not read some data out of the meter
Good Luck!
If you look carefully, you'll see that the forum ate a indexing of buffer in the print call at the end. it should say (hoping this doesn't get eaten too)
Hi !
Thanks for code, now only problem is that this HID library is intended only for Windows system which makes it not suitable for GGC. Most of GGC users are Linux or Mac users dissatisfied with Hardware support for their machine. Most of Diabetes Vendors target only Windows machine and forger about "little" people.
But since you supplied me with working code, I can use this to test other libraries.
Thanks for info it will be a great help.
Andy
JNA is a cross platform java library to reference the native OS USB HID on Windows, Macintosh, and Linux.
rus
Hi !
Rus: JNA is not cross platform library, at least not in that sense… If you had library that could work on all platforms, you could, build a new Java Library, that would use native library. I tried experimenting with JNA, together with libusb-0.1 and libusb-1.0, both work on Linux, but not on Windows, at least not good enough.
I have now find java HID API, which works OK on both platforms (HID are some of USB devices, which store data in so called reports, ContourUSB is one of such devices). I started working on reading data from device, but it's much trickier that it should be. I am still waiting for protocol data from Bayer, which will shorten my way to success. I am currently working with help of C++ library, which can read data from ContoruUSB, but so far I got all initialization finished, but reading still eludes me. But we are getting there… Release of GGC is comming up, so this won't be inside of it, but I hope to build some minor release for all waiting for this in near future.
Andy
Andy,
Did I not send you my Python implementation which will read it on Linux?
See https://bitbucket.org/iko/glucodump
/Anders
Hi Anders !
You did, and I also have code from Insulaudit, but I can't read it, and I don't have time to learn. I found C library that can read (I think it does a lot of unnecessary things too), only problem is that I can't get it to run on my own computer (I got it running on my work computer) so that I could add comments and see where does java have problem with code… I think that a little problem is that my HID reading (from Library I use) is blocking, which in C is not (you get error on read, but software is not blocked there… I need to have a look through code, since everythhing works, except reading BG entries. Init of library goes through, but reading of entries doesn't…
So this will have to wait a little, for me to work it through…
Andy
Hi !
Support for Contour USB meters is ready, it will be shipped with next release. Only change I need is adding of correct library for HID communication. I am currently using hid4java 0.3.1 which works OK, but since it's for wrong java I can't use it, so I am trying to build my own, which is giving me problem at the time. But nonetheless support will be in 0.7 (end of 2015)
Andy
I bought a Contour Next USB thinking it would be easy to get data out of. Sure, on Windows - on Linux, not so much. The application it comes with can't read the meter on Linux for some reason. Probably some native USB code in there.
So I came across this project and I see you have even integrated support for my device. So maybe I can help somehow, at least some testing. I am a Java developer with some experience, too.
Hi Doug !
I will have package ready in few days, because I too now own this meter (for last 6 months)... I can send it to you if you want, but you will need to install latest realease and then just overwrite it with this files I sent you...
As for original software. I think you need to download professional version and overwrite version on device with it. At least it was soo, when I got my first Contour USB. They have some kind of Lite version on device, which is intended for Windows (missing native files for other platforms).
I will perhaps even deploy it on site, for all other Contour owners... Next official release is planned for end of year... so this upgrade can be just for between...
Andy
Yes, I'd love to try it out.
I downloaded the trunk but it looks like I'm going to need a little help building it. I will post a query on "General Discussion" about this because it doesn't have anything essentially to do with this topic.
Hi !
Code is not checked in yet... Instructions on how to build are in ggc-desktop/docs/How_Can_I_Help.txt, but at this point not all libraries are there in maven repository... Please wait few days... I hope to have it done with till 10.10....
Andy
OK, thanks. No problem, take your time. I will plink away and see what I come up with.
I spotted the update to 0.6.1 so I have downloaded and installed it. My meter is in the support list (Bayer Contour Next USB) and configures successfully but it throws a NullPointer when I try to download the data. Console trace below. Would you prefer a bug report?
djc@bolli:~/ggc-0.6.1/bin$ . run_linux.sh
Picked up JAVA_TOOL_OPTIONS: -javaagent:/usr/share/java/jayatanaag.jar
=============================================================================
=== Startup/Update Manager ===
=== Startup file created succesfully. ===
=============================================================================
Picked up JAVA_TOOL_OPTIONS: -javaagent:/usr/share/java/jayatanaag.jar
** Db Check v0.1
*******
20:16:01,375 INFO [HibernateConfiguration:341] - Loading Db Configuration #0
20:16:01,385 INFO [GGCDbConfig:138] - GGCDb: Loading Db Configuration #0: Internal Db (H2)
20:16:01,499 INFO [Environment:479] - Hibernate 3.1.3
20:16:01,519 INFO [Environment:509] - hibernate.properties not found
20:16:01,525 INFO [Environment:525] - using CGLIB reflection optimizer
20:16:01,547 INFO [Environment:555] - using JDK 1.4 java.sql.Timestamp handling
20:16:01,737 INFO [Configuration:469] - Reading mappings from resource: DbInfo.hbm.xml
20:16:02,680 INFO [HbmBinder:309] - Mapping class: com.atech.db.hibernate.check.DbInfoH -> db_info
20:16:02,936 INFO [DriverManagerConnectionProvider:41] - Using Hibernate built-in connection pool (not for production use!)
20:16:02,938 INFO [DriverManagerConnectionProvider:42] - Hibernate connection pool size: 20
20:16:02,939 INFO [DriverManagerConnectionProvider:45] - autocommit mode: false
20:16:02,962 INFO [DriverManagerConnectionProvider:80] - using driver: org.h2.Driver at URL: jdbc:h2:../data/db/ggc_db
20:16:02,973 INFO [DriverManagerConnectionProvider:86] - connection properties: {user=sa, password=, charSet=utf-8}
20:16:04,972 INFO [SettingsFactoryWithException:66] - RDBMS: H2, version: 1.0.69 (2008-03-29)
20:16:04,975 INFO [SettingsFactoryWithException:67] - JDBC driver: H2 JDBC Driver, version: 1.0.69 (2008-03-29)
20:16:05,070 INFO [Dialect:103] - Using dialect: org.hibernate.dialect.H2Dialect
20:16:05,113 INFO [TransactionFactoryFactory:31] - Using default transaction strategy (direct JDBC transactions)
20:16:05,129 INFO [TransactionManagerLookupFactory:33] - No TransactionManagerLookup configured (in JTA environment, use of read-write or transactional second-level cache is not recommended)
20:16:05,130 INFO [SettingsFactoryWithException:115] - Automatic flush during beforeCompletion(): disabled
20:16:05,131 INFO [SettingsFactoryWithException:119] - Automatic session close at end of transaction: disabled
20:16:05,132 INFO [SettingsFactoryWithException:126] - JDBC batch size: 15
20:16:05,133 INFO [SettingsFactoryWithException:129] - JDBC batch updates for versioned data: disabled
20:16:05,136 INFO [SettingsFactoryWithException:134] - Scrollable result sets: enabled
20:16:05,138 INFO [SettingsFactoryWithException:142] - JDBC3 getGeneratedKeys(): enabled
20:16:05,139 INFO [SettingsFactoryWithException:150] - Connection release mode: auto
20:16:05,144 INFO [SettingsFactoryWithException:177] - Default batch fetch size: 1
20:16:05,146 INFO [SettingsFactoryWithException:181] - Generate SQL with comments: disabled
20:16:05,147 INFO [SettingsFactoryWithException:185] - Order SQL updates by primary key: disabled
20:16:05,147 INFO [SettingsFactory:338] - Query translator: org.hibernate.hql.ast.ASTQueryTranslatorFactory
20:16:05,169 INFO [ASTQueryTranslatorFactory:24] - Using ASTQueryTranslatorFactory
20:16:05,173 INFO [SettingsFactoryWithException:193] - Query language substitutions: {}
20:16:05,181 INFO [SettingsFactoryWithException:199] - Second-level cache: enabled
20:16:05,182 INFO [SettingsFactoryWithException:203] - Query cache: disabled
20:16:05,183 INFO [SettingsFactory:325] - Cache provider: org.hibernate.cache.EhCacheProvider
20:16:05,197 INFO [SettingsFactoryWithException:218] - Optimize cache for minimal puts: disabled
20:16:05,198 INFO [SettingsFactoryWithException:227] - Structured second-level cache entries: disabled
20:16:05,235 INFO [SettingsFactoryWithException:254] - Statistics: disabled
20:16:05,238 INFO [SettingsFactoryWithException:258] - Deleted entity synthetic identifier rollback: disabled
20:16:05,239 INFO [SettingsFactoryWithException:273] - Default entity-mode: pojo
20:16:05,366 INFO [SessionFactoryImpl:154] - building session factory
20:16:05,373 DEBUG [CacheManager:191] - Creating new CacheManager with default config
20:16:05,391 DEBUG [CacheManager:164] - Configuring ehcache from classpath.
20:16:05,431 WARN [Configurator:126] - No configuration found. Configuring ehcache from ehcache-failsafe.xml found in the classpath: jar:file:/home/djc/ggc-0.6.1/lib/hibernate3/ehcache-1.1.jar!/ehcache-failsafe.xml
20:16:05,462 DEBUG [Configuration$DiskStore:185] - Disk Store Path: /tmp
20:16:06,320 INFO [SessionFactoryObjectFactory:82] - Not binding factory to JNDI, no JNDI name configured
Picked up JAVA_TOOL_OPTIONS: -javaagent:/usr/share/java/jayatanaag.jar
20:16:08,579 INFO [HibernateConfiguration:341] - Loading Db Configuration #0
20:16:08,592 INFO [GGCDbConfig:138] - GGCDb: Loading Db Configuration #0: Internal Db (H2)
20:16:08,650 ERROR [PropertiesFile:132] - PropertiesFile: Error reading file: ../data/tools/translation/TranslationGGC.config
20:16:09,032 DEBUG [ATDataAccessLMAbstract:75] - Loading Language Manager
20:16:09,526 INFO [DataAccess:1611] - Start internal Web Server
20:16:09,727 WARN [ConfigurationManager:328] - Configuration key BG_UNIT doesn't exist.
20:16:12,909 ERROR [PropertiesFile:132] - PropertiesFile: Error reading file: ../data/tools/translation/TranslationGGC.config
20:16:12,917 DEBUG [ATDataAccessLMAbstract:75] - Loading Language Manager
20:16:12,919 INFO [DataAccess:1611] - Start internal Web Server
20:16:12,969 WARN [ConfigurationManager:328] - Configuration key BG_UNIT doesn't exist.
20:16:13,665 DEBUG [MainFrame:849] - JavaHelp - START
20:16:13,666 DEBUG [MainFrame:856] - JavaHelp - HelpContext: com.atech.help.HelpContext@56befa21
20:16:13,671 DEBUG [MainFrame:864] - JavaHelp - MainHelpSetName: /help/en/GGC.hs
20:16:14,029 DEBUG [MainFrame:888] - JavaHelp - Main Help Set present, creating broker.
20:16:14,280 DEBUG [MainFrame:914] - JavaHelp - END
20:16:15,367 WARN [ConfigurationManager:328] - Configuration key SW_MODE_DESC doesn't exist.
20:16:15,388 WARN [ConfigurationManager:328] - Configuration key SW_MODE doesn't exist.
20:16:15,483 INFO [GGCDb:262] - createConfiguration() - Process
20:16:15,492 INFO [HibernateConfiguration:341] - Loading Db Configuration #0
20:16:15,493 INFO [GGCDbConfig:138] - GGCDb: Loading Db Configuration #0: Internal Db (H2)
20:16:15,749 INFO [Environment:479] - Hibernate 3.1.3
20:16:15,817 INFO [Environment:509] - hibernate.properties not found
20:16:15,863 INFO [Environment:525] - using CGLIB reflection optimizer
20:16:15,907 INFO [Environment:555] - using JDK 1.4 java.sql.Timestamp handling
20:16:15,923 DEBUG [RedirectScreen:170] - setMenusByDbLoad: 0
20:16:16,473 INFO [Configuration:469] - Reading mappings from resource: GGC_Main.hbm.xml
20:16:19,030 INFO [HbmBinder:309] - Mapping class: ggc.core.db.hibernate.DayValueH -> data_dayvalues
20:16:19,326 INFO [HbmBinder:309] - Mapping class: ggc.core.db.hibernate.DoctorTypeH -> doc_types
20:16:19,338 INFO [HbmBinder:309] - Mapping class: ggc.core.db.hibernate.DoctorH -> doc_doctors
20:16:20,206 INFO [HbmBinder:309] - Mapping class: ggc.core.db.hibernate.AppointmentH -> doc_appointment
20:16:20,241 INFO [HbmBinder:309] - Mapping class: ggc.core.db.hibernate.SettingsH -> cfg_settings
20:16:20,266 INFO [HbmBinder:309] - Mapping class: ggc.core.db.hibernate.ColorSchemeH -> cfg_colorscheme
20:16:20,298 INFO [HbmBinder:309] - Mapping class: ggc.core.db.hibernate.DbInfoH -> db_info
20:16:20,322 INFO [Configuration:469] - Reading mappings from resource: GGC_Nutrition.hbm.xml
20:16:20,691 INFO [HbmBinder:309] - Mapping class: ggc.core.db.hibernate.NutritionDefinitionH -> nutrition_definition
20:16:20,699 INFO [HbmBinder:309] - Mapping class: ggc.core.db.hibernate.NutritionHomeWeightTypeH -> nutrition_home_weight_type
20:16:20,716 INFO [HbmBinder:309] - Mapping class: ggc.core.db.hibernate.FoodGroupH -> nutrition_usda_food_group
20:16:20,752 INFO [HbmBinder:309] - Mapping class: ggc.core.db.hibernate.FoodDescriptionH -> nutrition_usda_food_description
20:16:20,763 INFO [HbmBinder:309] - Mapping class: ggc.core.db.hibernate.FoodUserGroupH -> nutrition_user_food_group
20:16:20,783 INFO [HbmBinder:309] - Mapping class: ggc.core.db.hibernate.FoodUserDescriptionH -> nutrition_user_food_description
20:16:20,843 INFO [HbmBinder:309] - Mapping class: ggc.core.db.hibernate.MealGroupH -> meal_group
20:16:20,847 INFO [HbmBinder:309] - Mapping class: ggc.core.db.hibernate.MealH -> meal_meal
20:16:20,889 INFO [Configuration:469] - Reading mappings from resource: GGC_Other.hbm.xml
20:16:21,290 INFO [HbmBinder:309] - Mapping class: ggc.core.db.hibernate.InetGroupH -> inet_group
20:16:21,315 INFO [HbmBinder:309] - Mapping class: ggc.core.db.hibernate.InetTypeH -> inet_type
20:16:21,357 INFO [HbmBinder:309] - Mapping class: ggc.core.db.hibernate.InetLinkGroupH -> inet_link_group
20:16:21,388 INFO [HbmBinder:309] - Mapping class: ggc.core.db.hibernate.InetLinkH -> inet_link
20:16:21,411 INFO [Configuration:469] - Reading mappings from resource: GGC_Pump.hbm.xml
20:16:21,642 INFO [HbmBinder:309] - Mapping class: ggc.core.db.hibernate.pump.PumpDataH -> pump_data
20:16:21,677 INFO [HbmBinder:309] - Mapping class: ggc.core.db.hibernate.pump.PumpDataExtendedH -> pump_data_ext
20:16:21,707 INFO [HbmBinder:309] - Mapping class: ggc.core.db.hibernate.pump.PumpProfileH -> pump_profile
20:16:21,753 INFO [Configuration:469] - Reading mappings from resource: GGC_CGMS.hbm.xml
20:16:21,977 INFO [HbmBinder:309] - Mapping class: ggc.core.db.hibernate.cgms.CGMSDataH -> cgm_data
20:16:21,980 INFO [HbmBinder:309] - Mapping class: ggc.core.db.hibernate.cgms.CGMSDataExtendedH -> cgm_data_ext
20:16:21,999 INFO [GGCDb:262] - createConfiguration() - Process
20:16:22,009 INFO [HibernateConfiguration:341] - Loading Db Configuration #0
20:16:22,021 INFO [GGCDbConfig:138] - GGCDb: Loading Db Configuration #0: Internal Db (H2)
20:16:22,027 INFO [Configuration:469] - Reading mappings from resource: GGC_Main.hbm.xml
20:16:22,407 INFO [HbmBinder:309] - Mapping class: ggc.core.db.hibernate.DayValueH -> data_dayvalues
20:16:22,415 INFO [HbmBinder:309] - Mapping class: ggc.core.db.hibernate.DoctorTypeH -> doc_types
20:16:22,445 INFO [HbmBinder:309] - Mapping class: ggc.core.db.hibernate.DoctorH -> doc_doctors
20:16:22,448 INFO [HbmBinder:309] - Mapping class: ggc.core.db.hibernate.AppointmentH -> doc_appointment
20:16:22,476 INFO [HbmBinder:309] - Mapping class: ggc.core.db.hibernate.SettingsH -> cfg_settings
20:16:22,482 INFO [HbmBinder:309] - Mapping class: ggc.core.db.hibernate.ColorSchemeH -> cfg_colorscheme
20:16:22,511 INFO [HbmBinder:309] - Mapping class: ggc.core.db.hibernate.DbInfoH -> db_info
20:16:22,530 INFO [Configuration:469] - Reading mappings from resource: GGC_Nutrition.hbm.xml
20:16:22,846 INFO [HbmBinder:309] - Mapping class: ggc.core.db.hibernate.NutritionDefinitionH -> nutrition_definition
20:16:22,863 INFO [HbmBinder:309] - Mapping class: ggc.core.db.hibernate.NutritionHomeWeightTypeH -> nutrition_home_weight_type
20:16:22,869 INFO [HbmBinder:309] - Mapping class: ggc.core.db.hibernate.FoodGroupH -> nutrition_usda_food_group
20:16:22,894 INFO [HbmBinder:309] - Mapping class: ggc.core.db.hibernate.FoodDescriptionH -> nutrition_usda_food_description
20:16:22,904 INFO [HbmBinder:309] - Mapping class: ggc.core.db.hibernate.FoodUserGroupH -> nutrition_user_food_group
20:16:22,918 INFO [HbmBinder:309] - Mapping class: ggc.core.db.hibernate.FoodUserDescriptionH -> nutrition_user_food_description
20:16:22,922 INFO [HbmBinder:309] - Mapping class: ggc.core.db.hibernate.MealGroupH -> meal_group
20:16:22,942 INFO [HbmBinder:309] - Mapping class: ggc.core.db.hibernate.MealH -> meal_meal
20:16:22,954 INFO [Configuration:469] - Reading mappings from resource: GGC_Other.hbm.xml
20:16:23,205 INFO [HbmBinder:309] - Mapping class: ggc.core.db.hibernate.InetGroupH -> inet_group
20:16:23,214 INFO [HbmBinder:309] - Mapping class: ggc.core.db.hibernate.InetTypeH -> inet_type
20:16:23,228 INFO [HbmBinder:309] - Mapping class: ggc.core.db.hibernate.InetLinkGroupH -> inet_link_group
20:16:23,242 INFO [HbmBinder:309] - Mapping class: ggc.core.db.hibernate.InetLinkH -> inet_link
20:16:23,267 INFO [Configuration:469] - Reading mappings from resource: GGC_Pump.hbm.xml
20:16:23,505 INFO [HbmBinder:309] - Mapping class: ggc.core.db.hibernate.pump.PumpDataH -> pump_data
20:16:23,513 INFO [HbmBinder:309] - Mapping class: ggc.core.db.hibernate.pump.PumpDataExtendedH -> pump_data_ext
20:16:23,528 INFO [HbmBinder:309] - Mapping class: ggc.core.db.hibernate.pump.PumpProfileH -> pump_profile
20:16:23,565 INFO [Configuration:469] - Reading mappings from resource: GGC_CGMS.hbm.xml
20:16:23,795 INFO [HbmBinder:309] - Mapping class: ggc.core.db.hibernate.cgms.CGMSDataH -> cgm_data
20:16:23,802 INFO [HbmBinder:309] - Mapping class: ggc.core.db.hibernate.cgms.CGMSDataExtendedH -> cgm_data_ext
20:16:23,943 INFO [DriverManagerConnectionProvider:41] - Using Hibernate built-in connection pool (not for production use!)
20:16:23,953 INFO [DriverManagerConnectionProvider:42] - Hibernate connection pool size: 20
20:16:23,959 INFO [DriverManagerConnectionProvider:45] - autocommit mode: false
20:16:24,026 INFO [DriverManagerConnectionProvider:80] - using driver: org.h2.Driver at URL: jdbc:h2:../data/db/ggc_db
20:16:24,027 INFO [DriverManagerConnectionProvider:86] - connection properties: {user=sa, password=***, charSet=utf-8}
20:16:26,921 INFO [SettingsFactoryWithException:66] - RDBMS: H2, version: 1.0.69 (2008-03-29)
20:16:26,925 INFO [SettingsFactoryWithException:67] - JDBC driver: H2 JDBC Driver, version: 1.0.69 (2008-03-29)
20:16:27,124 INFO [Dialect:103] - Using dialect: org.hibernate.dialect.H2Dialect
20:16:27,207 INFO [TransactionFactoryFactory:31] - Using default transaction strategy (direct JDBC transactions)
20:16:27,243 INFO [TransactionManagerLookupFactory:33] - No TransactionManagerLookup configured (in JTA environment, use of read-write or transactional second-level cache is not recommended)
20:16:27,244 INFO [SettingsFactoryWithException:115] - Automatic flush during beforeCompletion(): disabled
20:16:27,249 INFO [SettingsFactoryWithException:119] - Automatic session close at end of transaction: disabled
20:16:27,251 INFO [SettingsFactoryWithException:126] - JDBC batch size: 15
20:16:27,252 INFO [SettingsFactoryWithException:129] - JDBC batch updates for versioned data: disabled
20:16:27,259 INFO [SettingsFactoryWithException:134] - Scrollable result sets: enabled
20:16:27,261 INFO [SettingsFactoryWithException:142] - JDBC3 getGeneratedKeys(): enabled
20:16:27,261 INFO [SettingsFactoryWithException:150] - Connection release mode: auto
20:16:27,278 INFO [SettingsFactoryWithException:177] - Default batch fetch size: 1
20:16:27,297 INFO [SettingsFactoryWithException:181] - Generate SQL with comments: disabled
20:16:27,299 INFO [SettingsFactoryWithException:185] - Order SQL updates by primary key: disabled
20:16:27,301 INFO [SettingsFactory:338] - Query translator: org.hibernate.hql.ast.ASTQueryTranslatorFactory
20:16:27,316 INFO [ASTQueryTranslatorFactory:24] - Using ASTQueryTranslatorFactory
20:16:27,333 INFO [SettingsFactoryWithException:193] - Query language substitutions: {}
20:16:27,334 INFO [SettingsFactoryWithException:199] - Second-level cache: enabled
20:16:27,335 INFO [SettingsFactoryWithException:203] - Query cache: disabled
20:16:27,337 INFO [SettingsFactory:325] - Cache provider: org.hibernate.cache.EhCacheProvider
20:16:27,373 INFO [SettingsFactoryWithException:218] - Optimize cache for minimal puts: disabled
20:16:27,374 INFO [SettingsFactoryWithException:227] - Structured second-level cache entries: disabled
20:16:27,430 INFO [SettingsFactoryWithException:254] - Statistics: disabled
20:16:27,433 INFO [SettingsFactoryWithException:258] - Deleted entity synthetic identifier rollback: disabled
20:16:27,434 INFO [SettingsFactoryWithException:273] - Default entity-mode: pojo
20:16:27,622 INFO [SessionFactoryImpl:154] - building session factory
20:16:27,629 DEBUG [CacheManager:191] - Creating new CacheManager with default config
20:16:27,646 DEBUG [CacheManager:164] - Configuring ehcache from classpath.
20:16:27,675 WARN [Configurator:126] - No configuration found. Configuring ehcache from ehcache-failsafe.xml found in the classpath: jar:file:/home/djc/ggc-0.6.1/lib/hibernate3/ehcache-1.1.jar!/ehcache-failsafe.xml
20:16:27,739 DEBUG [Configuration$DiskStore:185] - Disk Store Path: /tmp
20:16:30,173 INFO [SessionFactoryObjectFactory:82] - Not binding factory to JNDI, no JNDI name configured
20:16:30,440 DEBUG [RedirectScreen:170] - setMenusByDbLoad: 1
20:16:30,467 WARN [ConfigurationManager:328] - Configuration key SW_MODE_DESC doesn't exist.
20:16:30,487 WARN [ConfigurationManager:328] - Configuration key SW_MODE doesn't exist.
20:16:30,498 INFO [GGCDb:262] - loadConfigData() - Process
20:16:30,511 INFO [GGCDb:262] - loadColorSchemes() - Process
20:16:31,055 INFO [GGCDb:262] - loadConfigDataEntries() - Process
20:16:31,500 DEBUG [DataAccess:772] - init Plugins: Meter Tool
20:16:31,634 DEBUG [ATDataAccessLMAbstract:75] - Loading Language Manager
20:16:32,206 DEBUG [DataAccess:776] - init Plugins: Pumps Tool
20:16:32,273 DEBUG [ATDataAccessLMAbstract:75] - Loading Language Manager
20:16:32,580 ERROR [DeviceHandlerManager:53] - Handler NoHandler could not be found.
20:16:32,581 ERROR [DeviceHandlerManager:53] - Handler MinimedPumpHandler could not be found.
20:16:32,582 ERROR [DeviceHandlerManager:53] - Handler MinimedPumpHandler could not be found.
20:16:32,583 ERROR [DeviceHandlerManager:53] - Handler MinimedPumpHandler could not be found.
20:16:32,584 ERROR [DeviceHandlerManager:53] - Handler MinimedPumpHandler could not be found.
20:16:32,584 ERROR [DeviceHandlerManager:53] - Handler MinimedPumpHandler could not be found.
20:16:32,585 ERROR [DeviceHandlerManager:53] - Handler MinimedPumpHandler could not be found.
20:16:32,586 ERROR [DeviceHandlerManager:53] - Handler MinimedPumpHandler could not be found.
20:16:32,586 ERROR [DeviceHandlerManager:53] - Handler MinimedPumpHandler could not be found.
20:16:32,587 ERROR [DeviceHandlerManager:53] - Handler MinimedPumpHandler could not be found.
20:16:32,605 DEBUG [DataAccess:780] - init Plugins: CGMS Tool
20:16:32,689 DEBUG [ATDataAccessLMAbstract:75] - Loading Language Manager
20:16:32,856 DEBUG [RedirectScreen:170] - CGMS Devices V2 (registered: 2, supported: 2)
20:16:32,863 DEBUG [GGC_CGMSDb:68] - Created CGMSDb
20:16:32,864 DEBUG [DataAccess:784] - init Plugins: Nutrition Tool
20:16:32,908 DEBUG [ATDataAccessLMAbstract:75] - Loading Language Manager
20:16:32,992 DEBUG [DataAccess:1422] - Reload daily settings (force:true)
20:16:33,009 INFO [GGCDb:262] - getHbA1c() - Process
20:16:33,105 DEBUG [GGCDb:250] - getHbA1c() - Readings: 0 0
20:16:33,106 INFO [GGCDb:262] - getDayStats() - Process
20:16:33,156 INFO [GGCDb:262] - getDayStatsRange() - Process
20:16:33,165 DEBUG [GGCDb:250] - getDayStatsRange() - 20151001 - 20151007
20:16:33,207 DEBUG [StatisticsInfoPanel:211] - Statistics - Pen/Injection Mode
20:16:33,219 INFO [GGCDb:262] - getDayValuesRange() - Process
20:16:33,235 DEBUG [GGCDb:250] - getDayStatsRange() - 20151001 - 20151007
20:16:33,236 DEBUG [RedirectScreen:170] - SELECT dv from ggc.core.db.hibernate.DayValueH as dv WHERE dv.dt_info <= 201510010000 AND dv.dt_info <= 201510072359 ORDER BY dv.dt_info
20:16:33,263 DEBUG [RedirectScreen:170] - setMenusByDbLoad: 2
20:16:33,282 INFO [GGCDbNutri:1541] - loadNutritionDefinitions() - Process
20:16:33,939 INFO [GGCDbNutri:1541] - loadHomeWeights() - Process
20:16:38,260 DEBUG [RedirectScreen:170] - setMenusByDbLoad: 3
20:16:38,466 DEBUG [RedirectScreen:170] - Refresh Menus: true
20:16:38,787 DEBUG [GGCDbLoader:274] - We needed 23 seconds to startup.
(process:20819): GLib-CRITICAL **: Source ID 24 was not found when attempting to remove it
20:18:08,124 DEBUG [DeviceReaderRunner:232] - Trying to reading old data from GGC...
20:18:08,310 DEBUG [GGCMeterDb:91] - Old Meter Data in Db: 0
20:18:08,311 INFO [GGCMeterDb:114] - getMeterValues()
20:18:08,313 DEBUG [MeterDataReader:104] - Old Data reading progress [GGC_MeterTool]: 0% not started
20:18:08,314 DEBUG [GGCMeterDb:121] - getMeterValues() - Process
20:18:08,369 DEBUG [MeterDataReader:109] - Old Data reading progress [GGC_MeterTool]: 40% read from database
20:18:08,377 DEBUG [MeterDataReader:110] - Old Data reading progress [GGC_MeterTool]: Started to sort through data (progress will not be displayed)
20:18:08,381 DEBUG [RedirectScreen:170] - Old records: 0
20:18:08,391 DEBUG [DeviceReaderRunner:243] - Reading of old data finished !
20:18:08,413 DEBUG [DeviceReaderRunner:272] - Device instance (v2) prepared for reading
20:18:08,420 DEBUG [RedirectScreen:170] - dataTransfer: true
20:18:08,421 DEBUG [RedirectScreen:170] - TransferType: 1
20:18:08,422 DEBUG [DeviceReaderRunner:306] - Start reading of data
20:18:08,489 DEBUG [Hid4JavaCommunicationHandler:33] - connectAndInitDevice - USB/Hid
20:18:08,803 DEBUG [Hid4JavaCommunicationHandler:82] - Found correct device: null
20:18:08,881 ERROR [DeviceReaderRunner:370] - DeviceReaderRunner:Exception:java.lang.NullPointerException
java.lang.NullPointerException
at ggc.plugin.comm.Hid4JavaCommunicationHandler.writeWithReturn(Hid4JavaCommunicationHandler.java:161)
at ggc.meter.device.ascensia.impl.AscensiaContourUsbReader.sendDataToDevice(AscensiaContourUsbReader.java:108)
at ggc.meter.device.ascensia.impl.AscensiaContourUsbReader.readFromDevice(AscensiaContourUsbReader.java:53)
at ggc.meter.device.ascensia.AscensiaUsbMeterHandler.readDeviceData(AscensiaUsbMeterHandler.java:36)
at ggc.plugin.device.v2.DeviceInstanceWithHandler.readDeviceData(DeviceInstanceWithHandler.java:176)
at ggc.plugin.gui.DeviceReaderRunner.readDataFromDeviceV2(DeviceReaderRunner.java:311)
at ggc.plugin.gui.DeviceReaderRunner.run(DeviceReaderRunner.java:401)