class SendMsgApp(messages.SendMsgApp): """ mmeowlink adapter to decocare's SendMsgApp """ def customize_parser(self, parser): parser.add_argument('--radio_type', choices=['mmcommander', 'subg_rfspy']) parser = super(SendMsgApp, self).customize_parser(parser) return parser def prelude(self, args): self.link = link = LinkBuilder().build(args.radio_type, args.port) link.open() # get link # drain rx buffer self.pump = Pump(self.link, args.serial) if args.no_rf_prelude: return if not args.autoinit: if args.init: self.pump.power_control(minutes=args.session_life) else: self.autoinit(args) self.sniff_model() def postlude(self, args): # self.link.close( ) return
class SendMsgApp (messages.SendMsgApp): """ mmeowlink adapter to decocare's SendMsgApp """ def customize_parser (self, parser): parser.add_argument('--radio_type', dest='radio_type', default='subg_rfspy', choices=['mmcommander', 'subg_rfspy']) parser.add_argument('--mmcommander', dest='radio_type', action='store_const', const='mmcommander') parser.add_argument('--subg_rfspy', dest='radio_type', action='store_const', const='subg_rfspy') parser = super(SendMsgApp, self).customize_parser(parser) return parser def prelude (self, args): port = args.port builder = LinkBuilder( ) if port == 'scan': port = builder.scan( ) self.link = link = LinkBuilder().build(args.radio_type, port) link.open() # get link # drain rx buffer self.pump = Pump(self.link, args.serial) if args.no_rf_prelude: return if not args.autoinit: if args.init: self.pump.power_control(minutes=args.session_life) else: self.autoinit(args) self.sniff_model( ) def postlude (self, args): # self.link.close( ) return
class SendMsgApp(messages.SendMsgApp): """ mmeowlink adapter to decocare's SendMsgApp """ def customize_parser(self, parser): parser = super(SendMsgApp, self).customize_parser(parser) return parser def prelude(self, args): port = mmcommander_scan.scan() self.link = link = Link(port=port) link.open() # get link # drain rx buffer self.pump = Pump(self.link, args.serial) if args.no_rf_prelude: return if not args.autoinit: if args.init: self.pump.power_control(minutes=args.session_life) else: self.autoinit(args) self.sniff_model() def postlude(self, args): # self.link.close( ) return
def prelude(self, args): self.link = link = LinkBuilder().build(args.radio_type, args.port) link.open() # get link # drain rx buffer self.pump = Pump(self.link, args.serial) if args.no_rf_prelude: return if not args.autoinit: if args.init: self.pump.power_control(minutes=args.session_life) else: self.autoinit(args) self.sniff_model()
def prelude(self, args): port = mmcommander_scan.scan() self.link = link = Link(port=port) link.open() # get link # drain rx buffer self.pump = Pump(self.link, args.serial) if args.no_rf_prelude: return if not args.autoinit: if args.init: self.pump.power_control(minutes=args.session_life) else: self.autoinit(args) self.sniff_model()
class BaseMMeowlinkApp(decocare_messages.SendMsgApp): """ Base class used by other apps here """ def configure_radio_params(self, parser): parser.add_argument('--radio_type', dest='radio_type', default='subg_rfspy', choices=['mmcommander', 'subg_rfspy']) parser.add_argument('--mmcommander', dest='radio_type', action='store_const', const='mmcommander') parser.add_argument('--subg_rfspy', dest='radio_type', action='store_const', const='subg_rfspy') return parser def prelude(self, args): port = args.port builder = LinkBuilder() if port == 'scan': port = builder.scan() self.link = link = LinkBuilder().build(args.radio_type, port) link.open() # get link # drain rx buffer self.pump = Pump(self.link, args.serial) # Early return if we don't want to send any radio comms. Useful from both # the command line and for MMTuneApp if args.no_rf_prelude: return if not args.autoinit: if args.init: self.pump.power_control(minutes=args.session_life) else: self.autoinit(args) self.sniff_model() def postlude(self, args): return
def prelude(self, args): port = args.port builder = LinkBuilder() if port == 'scan': port = builder.scan() self.link = link = LinkBuilder().build(args.radio_type, port) link.open() self.pump = Pump(self.link, args.serial) self.model = None if args.no_rf_prelude: return if not args.autoinit: if args.init: self.pump.power_control(minutes=args.session_life) else: self.autoinit(args) self.sniff_model()
def prelude(self, args): port = args.port builder = LinkBuilder() if port == 'scan': port = builder.scan() self.link = link = LinkBuilder().build(args.radio_type, port) link.open() # get link # drain rx buffer self.pump = Pump(self.link, args.serial) # Early return if we don't want to send any radio comms. Useful from both # the command line and for MMTuneApp if args.no_rf_prelude: return if not args.autoinit: if args.init: self.pump.power_control(minutes=args.session_life) else: self.autoinit(args) self.sniff_model()
def prelude (self, args): self.link = link = LinkBuilder().build(args.radio_type, args.port) link.open() # get link # drain rx buffer self.pump = Pump(self.link, args.serial) if args.no_rf_prelude: return if not args.autoinit: if args.init: self.pump.power_control(minutes=args.session_life) else: self.autoinit(args) self.sniff_model( )
class BaseMMeowlinkApp(decocare_messages.SendMsgApp): """ Base class used by other apps here """ def configure_radio_params(self, parser): parser.add_argument('--radio_type', dest='radio_type', default='subg_rfspy', choices=['mmcommander', 'subg_rfspy']) parser.add_argument('--mmcommander', dest='radio_type', action='store_const', const='mmcommander') parser.add_argument('--subg_rfspy', dest='radio_type', action='store_const', const='subg_rfspy') return parser def prelude (self, args): port = args.port builder = LinkBuilder( ) if port == 'scan': port = builder.scan( ) self.link = link = LinkBuilder().build(args.radio_type, port) link.open() # get link # drain rx buffer self.pump = Pump(self.link, args.serial) # Early return if we don't want to send any radio comms. Useful from both # the command line and for MMTuneApp if args.no_rf_prelude: return if not args.autoinit: if args.init: self.pump.power_control(minutes=args.session_life) else: self.autoinit(args) self.sniff_model() def postlude(self, args): return
def prelude (self, args): port = args.port builder = LinkBuilder( ) if port == 'scan': port = builder.scan( ) self.link = link = LinkBuilder().build(args.radio_type, port) link.open() # get link # drain rx buffer self.pump = Pump(self.link, args.serial) # Early return if we don't want to send any radio comms. Useful from both # the command line and for MMTuneApp if args.no_rf_prelude: return if not args.autoinit: if args.init: self.pump.power_control(minutes=args.session_life) else: self.autoinit(args) self.sniff_model()
class BolusApp (BaseMMeowlinkApp): """ %(prog)s - Send bolus command to a pump. XXX: Be careful please! Units might be wrong. Keep disconnected from pump until you trust it by observing the right amount first. """ def customize_parser (self, parser): parser.add_argument('units', type=float, help="Amount of insulin to bolus." ) group = parser.add_mutually_exclusive_group(required=True) group.add_argument('--515', dest='strokes_per_unit', action='store_const', const=10 ) group.add_argument('--554', dest='strokes_per_unit', action='store_const', const=40 ) group.add_argument('--strokes', dest='strokes_per_unit', type=int ) parser.add_argument('--radio_type', dest='radio_type', default='subg_rfspy', choices=['mmcommander', 'subg_rfspy']) parser.add_argument('--mmcommander', dest='radio_type', action='store_const', const='mmcommander') parser.add_argument('--subg_rfspy', dest='radio_type', action='store_const', const='subg_rfspy') # parser = super(BolusApp, self).customize_parser(parser) return parser def prelude(self, args): port = args.port builder = LinkBuilder() if port == 'scan': port = builder.scan() self.link = link = LinkBuilder().build(args.radio_type, port) link.open() self.pump = Pump(self.link, args.serial) self.model = None if args.no_rf_prelude: return if not args.autoinit: if args.init: self.pump.power_control(minutes=args.session_life) else: self.autoinit(args) self.sniff_model() def postlude(self, args): # self.link.close( ) return def main (self, args): print args self.bolus(args); def bolus (self, args): query = commands.Bolus kwds = dict(params=fmt_params(args)) resp = self.exec_request(self.pump, query, args=kwds, dryrun=args.dryrun, render_hexdump=False) return resp