Skip to content

Commit

Permalink
Implement Link Up Interval
Browse files Browse the repository at this point in the history
  • Loading branch information
ady624 committed Jan 24, 2024
1 parent 1e63c53 commit 10d4eb7
Showing 1 changed file with 7 additions and 6 deletions.
13 changes: 7 additions & 6 deletions lib/sources/librelinkup.js
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@ function linkUpSource (opts, axios) {
});
// return Promise.resolve(auth.data.authTicket);
},
dataFromSesssion (session, last_known) {
dataFromSession (session, last_known) {
var two_days_ago = new Date( ).getTime( ) - (2 * 24 * 60 * 60 * 1000);
var last_mills = Math.max(two_days_ago, (last_known && last_known.entries) ? last_known.entries.getTime( ) : two_days_ago);
var last_glucose_at = new Date(last_mills);
Expand Down Expand Up @@ -155,12 +155,12 @@ function linkUpSource (opts, axios) {
}
// var last_glucose_at = new Date(last_known.sgvs.mills);
var last_glucose_at = last_known.entries;
var missing = ((new Date( )).getTime( ) - last_glucose_at.getTime( )) / (1000 * 60 * 5)
var missing = ((new Date( )).getTime( ) - last_glucose_at.getTime( )) / (1000 * 60 * opts.linkUpInterval)
if (missing > 1 && missing < 3) {
console.log("READJUSTING SHOULD MAKE A DIFFERENCE MISSING", missing);

}
var next_due = last_glucose_at.getTime( ) + (Math.ceil(missing) * 1000 * 60 * 5);
var next_due = last_glucose_at.getTime( ) + (Math.ceil(missing) * 1000 * 60 * opts.linkUpInterval);
var buffer_lag = 18000; // 18 second buffer
var jitter = Math.floor(Math.random( ) * 1000 * 18); // 18 second random
var align_to = next_due + buffer_lag + jitter;
Expand All @@ -178,7 +178,7 @@ function linkUpSource (opts, axios) {
authorize: impl.sessionFromAuth,
// refresh: impl.refreshSession,
delays: {
REFRESH_AFTER_SESSSION_DELAY: 3600000 - 600000,
REFRESH_AFTER_SESSION_DELAY: 3600000 - 600000,
EXPIRE_SESSION_DELAY: 3600000
}
});
Expand All @@ -188,7 +188,7 @@ function linkUpSource (opts, axios) {
builder.register_loop('LibreLinkUp', {
tracker: tracker_for,
frame: {
impl: impl.dataFromSesssion,
impl: impl.dataFromSession,
align_schedule: impl.align_to_glucose,
transform: impl.transformGlucose,
backoff: {
Expand All @@ -200,7 +200,7 @@ function linkUpSource (opts, axios) {
maxRetries: 2
},
// expect new data 5 minutes after last success
expected_data_interval_ms: 5 * 60 * 1000,
expected_data_interval_ms: opts.linkUpInterval * 60 * 1000,
backoff: {
// wait 2.5 minutes * 2^attempt
interval_ms: 2.5 * 60 * 1000
Expand All @@ -220,6 +220,7 @@ linkUpSource.validate = function validate_inputs (input) {
linkUpUsername: input.linkUpUsername,
linkUpPassword: input.linkUpPassword,
linkUpPatientId: input.linkUpPatientId,
linkUpInterval: input.linkUpInterval || 5,
linkUpVersion: input.linkUpVersion || Defaults.Version,
linkUpProduct: input.linkUpProduct || Defaults.Product,
baseURL
Expand Down

0 comments on commit 10d4eb7

Please sign in to comment.