예제 #1
0
 private void StartFlashing()
 {
     if (_status != EDeviceStatus.FLASHING)
     {
         _status = EDeviceStatus.FLASHING;
         Thread t = new Thread(new ThreadStart(FlashIt));
         t.Start();
     }
 }
예제 #2
0
 private void OnEvtPingReply(MicroBitMessageReader reader)
 {
     while (true)
     {
         if (!reader.ReadU8Hex(out _version))
         {
             break;
         }
         if (_version == KoduMicroBitVersion)
         {
             _status = EDeviceStatus.READY;
         }
         break;
     }
 }
예제 #3
0
        private bool Flash()
        {
            try
            {
                _flashStatus = EFlashStatus.FLASH_IN_PROGRESS;
                string filename = Path.Combine(Storage4.TitleLocation, @"Content", @"Microbit", DriverFilename);
                File.Copy(filename, Path.Combine(Drive, DriverFilename));
                _status      = EDeviceStatus.FLASHED;
                _flashStatus = EFlashStatus.FLASH_SUCCESSFUL;
            }
            catch
            {
                _status      = EDeviceStatus.ERROR;
                _flashStatus = EFlashStatus.FLASH_FAILED;
                System.Diagnostics.Debug.WriteLine("Failed to flash microbit.");
                return(false);
            }

            return(true);
        }