Replies: 5 comments 16 replies
-
I am an xDrip user and one of the volunteers helping maintain xDrip. Everything I say here is my personal opinion. I personally see no problem with us supporting your final year project. But, approving and adding your project to xDrip is a different matter. Just to clarify, xDrip is used worldwide by those suffering from diabetes. We always have to look at the outcome from the angle of how it would impact the user. If a change to xDrip could cause to confuse even one user resulting in them taking more insulin than they should have, we need to avoid that change. xDrip is open source. It has contributions from more than 72 different volunteers. These individuals don't work for the same company and don't report to a reporting hierarchy. It is not easy to mandate and enforce standards. There are developers who open a pull request (PR) adding a new feature. It gets approved and added to xDrip. Later, there is a bug, either because Android is updated or because a phone manufacturer changes the phone firmware or because ... But, the individual is gone. We need to resolve the bug because users complain about it. We have not seen the majority of the 72 contributors I mentioned for years. Individuals come here and point out that the xDrip code is inconsistent and open a PR. They focus on the code and are surprised if their PR is not approved. Our objective is the app and how it impacts the user. The code is not our goal. It is a tool. I have opened a submission after having tested it thoroughly. I have asked other developers to test it. They have. After approval, we have realized that there was a mistake. There is always a chance for mistakes. We cannot just approve submissions without weighing all the risks and asking why we really need it. I don't mean to discourage you. I just want you to be aware of what xDrip is. |
Beta Was this translation helpful? Give feedback.
-
@Unai-HP You should find all treatment data via the I would recommend creating a new package inside This way your implementation is effectively stand-alone simply processing the available data and then to integrate in to xDrip, for example in the predictive simulation model we can call out to your methods to receive data. In this way we can prototype a dual system to examine results from any processing you make vs the baseline and give users the option to use one or the other or potentially both without creating many modifications to the existing code base and therefore making the whole thing easier to manage and potentially merge at some future point. Your English is absolutely fine and clear. |
Beta Was this translation helpful? Give feedback.
-
Hi @Navid200 @jamorham again. I've been doing changes in my fork and the next thing I wanted to do was changing the UI to include a simple option like "Use RL". However changing pref_advanced_settings.xml doesn't seem to do anything. Is there anything more I have to do that I've missed? I'm using Android Studio, gradle plugin 3.4.3 and studios 6.8, with java 11, and there are no errors in the gradle build aside from "fatal: No names found, cannot describe anything.", which doesn't seem to stop the installation of the new build. |
Beta Was this translation helpful? Give feedback.
-
My main concern with any simulator is that it could cause serious problems for someone who may take it as what it is not. There are many reasons a simulator could be wrong. There are many factors affecting our blood glucose. Insulin and carbs are just 2 of many. Delegating more and more to AI, in this case, is something that could have catastrophic consequences. When I read you talk about learning, unless I misunderstand, I take that for a while the simulator is going to be even more wrong than usual until it learns. Well, what is the user supposed to do while the ai is learning? How do we make sure everyone understand that? I am not even happy with the existing simulator because I am worried someone may use it the wrong way. So, please note this all is only my personal opinion. |
Beta Was this translation helpful? Give feedback.
-
@jamorham @Navid200 Hi, after some time I've mostly finished coding the feature. It has the necessary UI changes to enable it and see the RL prediction in the application status bar. However, I have yet to implement the final version of the RL model, which for now has quite terrible results. I know that a very good model is possible. In the paper "Toward a Fully Automated Artificial Pancreas System Using a Bioinspired Reinforcement Learning Design: In Silico Validation" (https://ieeexplore.ieee.org/document/9115809) they describe a RL model that reaches a 92% time in range (using only bg as input, with a pump). Knowing this, should I wait until I have the model trained and fully usable to do the pull request, or should I do it now? |
Beta Was this translation helpful? Give feedback.
-
Hi, I'm a university student doing my final degree project, which is adding a Reinforcement Learning ("AI automatic learning") base calculator for carb ratio and insulin sensitivity to xDrip, this is, inputing only carbs and insulin the ratios would be calculated automaticaly.
However, I wanted to ask if there is any type of documentation of the code, since I've being searching for it and found nothing. Is there any class diagram or dependency diagram of the code (I myself have found nothing)? I've tried 6-7 class diagram generators (they use the existing code to create them) but half of them don't work, and the rest have terrible results.
On the other hand, is anyone interested in this feature? How do you think this feature should work?
Sorry for my bad English by the way, not my first language.
Beta Was this translation helpful? Give feedback.
All reactions