Guest User

Untitled

a guest
Dec 19th, 2017
270
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.77 KB | None | 0 0
  1. using Toybox.WatchUi as Ui;
  2. using Toybox.System as Sys;
  3. using Toybox.FitContributor as Fit;
  4. using Toybox.Application as App;
  5.  
  6. const CURRENT_SGV_FIELD_ID = 0;
  7. const LAP_SGV_FIELD_ID = 1;
  8. const AVG_SGV_FIELD_ID = 2;
  9.  
  10.  
  11. class SGVFitContributor {
  12. private const TAG = "SGVFitContributor";
  13.  
  14. // FIT Contributions variables
  15. hidden var mCurrentSgvField = null; //Instantaneous values
  16. hidden var mLapAverageSgvField = null; //Lap average
  17. hidden var mSessionAverageSgvField = null; //Session average
  18.  
  19. // Variables for storing averages for the contribution:
  20. hidden var contrLapAverage = 0.0;
  21. hidden var contrSessionAverage = 0.0;
  22. hidden var contrLapRecordCount = 0;
  23. hidden var contrSessionRecordCount = 0;
  24.  
  25. // Constructor
  26. function initialize(dataField) {
  27. Sys.println(TAG + "-> initialize.");
  28.  
  29. mCurrentSgvField = dataField.createField("Current_SGV", CURRENT_SGV_FIELD_ID, Fit.DATA_TYPE_FLOAT, { :nativeNum=>54, :mesgType=>Fit.MESG_TYPE_RECORD, :units=>"mmol/l" });
  30. mLapAverageSgvField = dataField.createField("Lap_average_SGV", LAP_SGV_FIELD_ID, Fit.DATA_TYPE_FLOAT, { :nativeNum=>84, :mesgType=>Fit.MESG_TYPE_LAP, :units=>"mmol/l"});
  31. mSessionAverageSgvField = dataField.createField("Session_average_SGV", AVG_SGV_FIELD_ID, Fit.DATA_TYPE_FLOAT, { :nativeNum=>95, :mesgType=>Fit.MESG_TYPE_SESSION, :units=>"mmol/l"});
  32.  
  33. mCurrentSgvField.setData(0.0);
  34. mLapAverageSgvField.setData(0.0);
  35. mSessionAverageSgvField.setData(0.0);
  36.  
  37. Sys.println("FIT field initialized.");
  38. }
  39.  
  40. function compute(fitData) {
  41. Sys.println(TAG + "-> compute");
  42. Sys.println(fitData);
  43. if( fitData != null ) {
  44. //Log current value:
  45. mCurrentSgvField.setData(fitData);
  46.  
  47. Sys.println("ContrLapAverage= "+contrLapAverage);
  48. Sys.println("ContrSessionAverage = "+contrSessionAverage);
  49. Sys.println("Lap record count = "+contrLapRecordCount);
  50.  
  51. Sys.println("Sgv lap average= "+contrLapAverage/contrLapRecordCount);
  52. Sys.println("Sgv session average = "+contrSessionAverage/contrSessionRecordCount);
  53.  
  54. // Log lap/session FIT Contributions
  55. mLapAverageSgvField.setData(contrLapAverage/contrLapRecordCount);
  56. mSessionAverageSgvField.setData(contrSessionAverage/contrSessionRecordCount);
  57.  
  58.  
  59. Sys.println("FIT data recorded!");
  60. }
  61. }
  62.  
  63. function updateAverages(lapAverage,sessionAverage,lapRecordCount,sessionRecordCount){
  64. contrLapAverage = lapAverage;
  65. contrSessionAverage = sessionAverage;
  66. contrLapRecordCount = lapRecordCount;
  67. contrSessionRecordCount = sessionRecordCount;
  68. }
  69.  
  70. }
Advertisement
Add Comment
Please, Sign In to add comment