Packages

Pummpcomm is a library to handle communication with a Medtronic insulin pump via a serial link to a cc1110 chip running subg_rfspy.

Current section

Files

Jump to
pummpcomm lib pummpcomm session exchange read_temp_basal.ex
Raw

lib/pummpcomm/session/exchange/read_temp_basal.ex

defmodule Pummpcomm.Session.Exchange.ReadTempBasal do
alias Pummpcomm.Session.Command
alias Pummpcomm.Session.Response
@opcode 0x98
def make(pump_serial) do
%Command{opcode: @opcode, pump_serial: pump_serial}
end
@strokes_per_unit 40 # X12 and above
def decode(%Response{opcode: @opcode, data: <<0::8, _::8, raw_rate::16, duration::16, _::binary>>}) do
%{type: :absolute, units_per_hour: raw_rate / @strokes_per_unit, duration: duration}
end
def decode(%Response{opcode: @opcode, data: <<1::8, rate::8, _::16, duration::16, _::binary>>}) do
%{type: :percent, units_per_hour: rate, duration: duration}
end
end