profile.js 1.3 KB

1234567891011121314151617181920212223242526272829303132333435
  1. function exportDefaults () {
  2. return freeaps.displayedDefaults();
  3. }
  4. function generate(preferences, pumpsettings_data, bgtargets_data, basalprofile_data, isf_data, carbratio_data, temptargets_data, model_data, autotune_data) {
  5. var inputs = { };
  6. //add all preferences to the inputs
  7. for (var pref in preferences) {
  8. if (preferences.hasOwnProperty(pref)) {
  9. inputs[pref] = preferences[pref];
  10. }
  11. }
  12. //make sure max_iob is set or default to 0
  13. inputs.max_iob = inputs.max_iob || 0;
  14. //set these after to make sure nothing happens if they are also set in preferences
  15. inputs.settings = pumpsettings_data;
  16. inputs.targets = bgtargets_data;
  17. inputs.basals = basalprofile_data;
  18. inputs.isf = isf_data;
  19. inputs.carbratio = carbratio_data;
  20. inputs.temptargets = temptargets_data;
  21. inputs.model = model_data;
  22. inputs.autotune = autotune_data;
  23. if (autotune_data) {
  24. if (autotune_data.basalprofile) { inputs.basals = autotune_data.basalprofile; }
  25. if (autotune_data.isfProfile) { inputs.isf = autotune_data.isfProfile; }
  26. if (autotune_data.carb_ratio) { inputs.carbratio.schedule[0].ratio = autotune_data.carb_ratio; }
  27. }
  28. return freeaps(inputs);
  29. }