Exemplo n.º 1
0
        public void Dispose()
        {
            if (dfuController != null)
            {
                dfuController.Dispose();
                dfuController = null;
            }

            if (dfuServiceInitiator != null)
            {
                dfuServiceInitiator.Dispose();
                dfuServiceInitiator = null;
            }

            if (dfuFirmware != null)
            {
                dfuFirmware.Dispose();
                dfuFirmware = null;
            }

            if (cbCentralManager != null)
            {
                cbCentralManager.Dispose();
                cbCentralManager = null;
            }
        }
Exemplo n.º 2
0
        public FirmwareUpdater(CBPeripheral peripheral)
        {
            cbCentralManager = new CBCentralManager();

            /**
             * Creates the DFU Firmware object from a Distribution packet (ZIP).
             * returns: The DFU firmware object or `nil` in case of an error.
             */
            var path    = NSBundle.MainBundle.PathForResource("softdevice_s140", ".zip");
            var urlPath = new NSUrl("file://" + path);

            dfuFirmware = new DFUFirmware(urlPath);


            dfuServiceInitiator = new DFUServiceInitiator(cbCentralManager, peripheral);
            dfuServiceInitiator.PacketReceiptNotificationParameter = 12;

            dfuServiceInitiator.EnableUnsafeExperimentalButtonlessServiceInSecureDfu = true;
            dfuServiceInitiator.ProgressDelegate = new DfuServiceDelegateImplementation(dfuLogger);
            dfuServiceInitiator.Logger           = new DfuLogger();

            dfuServiceInitiator.WithFirmware(dfuFirmware);
        }