コード例 #1
0
ファイル: MainViewModel.cs プロジェクト: saladjay/iAMPUpdate
 private void UploadSelectedPresetFile()
 {
     if (ReadSinglePresetFromFile())
     {
         SerialPortSendCMD(CMDSender.sendCMD_LoadPresetFromLocal());
     }
 }
コード例 #2
0
ファイル: MainViewModel.cs プロジェクト: saladjay/iAMPUpdate
 private void UploadPresetsToDevice()
 {
     if (LoadMemoryFile())
     {
         SerialPortSendCMD(CMDSender.sendCMD_MemoryImport_Scence(0));
     }
 }
コード例 #3
0
        private void onsubmitNewDevname(object sender)
        {
            var dlg = sender as CNewDeveName;

            if (dlg != null)
            {
                ModuleRVAS mrvas;
                //MatrixCMD.RVAGUIClass
                string mname = dlg.edInput.Text.Trim();
                Debug.WriteLine("onsubmit new device name is  " + mname);
                if (moduleType == Module_Type.Mod_RIO100)
                {
                    mrvas = ModuleRVAS.MRIO;
                }
                else if (moduleType == Module_Type.Mod_RVC100)
                {
                    mrvas = ModuleRVAS.MRVC;
                }
                else
                {
                    mrvas = ModuleRVAS.MRVA;
                }
                CMatrixData.matrixData.setRVASDeviceName(mrvas, mname);

                if (NetCilent.netCilent.isConnected())
                {
                    CMDSender.sendMSG_note_ChangeDevName(MatrixCMD.F_PCGetDeviceInfo, 1);
                    //devP.123

                    CMatrixData.matrixData.sendCMD_submitToChangeRVASDevName(mrvas);
                }
            }
        }
コード例 #4
0
ファイル: MainViewModel.cs プロジェクト: saladjay/iAMPUpdate
 private void SavePresetExcute()
 {
     SerialPortSendCMD(CMDSender.sendCMD_ReadPresetList());
     Application.Current.Dispatcher.Invoke(new Action(() =>
     {
         ManagePresetsWin = new ManagePresets();
         ManagePresetsWin.ShowDialog();
     }));
 }
コード例 #5
0
ファイル: MainViewModel.cs プロジェクト: saladjay/iAMPUpdate
 private void StartUpdateFirmwareExcute()
 {
     Data.ProgressBarValue = 0;
     if (Data.FirmwareModule)
     {
         SerialPortSendCMD(CMDSender.sendCMD_GotoReset());
     }
     else if (Data.ServiceOnlyModule)
     {
         nTimer.Start();
     }
     Data.UpdateState = true;
 }
コード例 #6
0
        /// <summary>
        /// window MSG for receiver below..
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void WindowMsg_recevierWndProc(object sender, MessageEventArgs e)
        {
            //
            Debug.WriteLine("receive crvc200 msg ..........{0}.", e.Message);
            if (e.Message == MatrixCMD.RVA200_MSG_Transfer)
            {
                COPYDATASTRUCT cds = new COPYDATASTRUCT();
                Type           t   = cds.GetType();
                cds = (COPYDATASTRUCT)Marshal.PtrToStructure(e.lParam, t);
                int chindex = cds.preWpl; //low param
                switch (cds.preWph)       //highcmd
                {
                case MatrixCMD.F_Ack:
                {
                    Debug.WriteLine("rva200 msg ack receive now.....................");
                    refreshAesLed();
                }
                break;

                case MatrixCMD.F_RdDevInfo:
                {
                    Debug.WriteLine("read msg device info now...................");

                    if (moduleType == Module_Type.Mod_RIO100)
                    {
                        lbDevName.Text = CMatrixData.matrixData.nameofRIODev();
                    }
                    else if (moduleType == Module_Type.Mod_RVC100)
                    {
                        lbDevName.Text = CMatrixData.matrixData.nameofRVCDev();
                    }
                    else
                    {
                        lbDevName.Text = CMatrixData.matrixData.nameofRVADev();
                    }

                    CMDSender.sendMSG_note_ChangeDevName(MatrixCMD.F_PCGetDeviceInfo, 0);        //stop rotating
                }
                break;
                }
            }
        }
コード例 #7
0
        private void onsubmitNewDevname(object sender)
        {
            var dlg = sender as CNewDeveName;

            if (dlg != null)
            {
                string mname  = dlg.edInput.Text.Trim();
                string dlgTag = dlg.Tag as string;
                if (dlgTag.CompareTo("devChangeName") == 0) //change device name
                {
                    CMatrixData.matrixData.setDevicename(mname);
                    if (NetCilent.netCilent.isConnected())
                    {
                        CMDSender.sendMSG_note_ChangeDevName(MatrixCMD.F_PCGetDeviceInfo, 1);
                        _parentWin.onLineCheckCounter = 0;
                        CMatrixData.matrixData.sendCMD_submitToChangeDevName();
                    }
                }
                else  //change preset name
                {
                    /*
                     * 20170722
                     * int selNum = pLstBox.SelectedIndex + 1; //overceed 0
                     * CMatrixData.matrixData.setPresetName(selNum, mname);
                     * if (NetCilent.netCilent.isConnected())
                     * {
                     *  onLineCheckCounter = 0;
                     *  CMatrixData.matrixData.sendCMD_savePresetName(selNum);
                     *  CMDSender.sendMSG_note_ChangeDevName(MatrixCMD.F_PCGetDeviceInfo, 1);//begin roting
                     * }
                     */
                }

                //    Debug.WriteLine("send device name to change....");
            }
            Debug.WriteLine("on submit to new devname...now...");
        }
コード例 #8
0
        private void onsubmitNewDevname(object sender)
        {
            var dlg = sender as CNewDeveName;

            if (dlg != null)
            {
                string mname  = dlg.edInput.Text.Trim();
                string dlgTag = dlg.Tag as string;

                int selNum = pLstBox.SelectedIndex + 1; //overceed 0
                CMatrixData.matrixData.setPresetName(selNum, mname);
                if (NetCilent.netCilent.isConnected())
                {
                    _parentWin.onLineCheckCounter    = 0;
                    sprocketSaveLoad.IsIndeterminate = true;
                    CMatrixData.matrixData.sendCMD_savePresetName(selNum);
                    CMDSender.sendMSG_note_ChangeDevName(MatrixCMD.F_PCGetDeviceInfo, 1);//begin roting
                }


                //    Debug.WriteLine("send device name to change....");
            }
            Debug.WriteLine("on submit to new devname...now...");
        }
コード例 #9
0
ファイル: MainViewModel.cs プロジェクト: saladjay/iAMPUpdate
 private void SavePresetsFile()
 {
     SerialPortSendCMD(CMDSender.sendCMD_MemoryExport(0));
 }
コード例 #10
0
ファイル: MainViewModel.cs プロジェクト: saladjay/iAMPUpdate
 private void ResetPresets()
 {
     SerialPortSendCMD(CMDSender.sendCMD_DeleteSinglePreset(_SelectedPresetIndex));
 }
コード例 #11
0
ファイル: MainViewModel.cs プロジェクト: saladjay/iAMPUpdate
 private void CreateSinglePreserFile()
 {
     SerialPortSendCMD(CMDSender.sendCMD_RecallSinglePreset(_SelectedPresetIndex));
 }
コード例 #12
0
ファイル: MainViewModel.cs プロジェクト: saladjay/iAMPUpdate
        private void ConvertToData(List <byte> package)
        {
            int CMD = package[9] * 256 + package[10];

            switch (CMD)
            {
            case FinalConst.CMD_TYPE_CHECK_DEVICE:
            {
                break;
            }

            case FinalConst.CMD_TYPE_READY_STOP:
            {
                SerialPortSendCMD(CMDSender.sendCMD_UpdateStop());
                break;
            }

            case FinalConst.CMD_TYPE_RESETDEVICE:    //0xEE
            {
                nTimer.Start();
                break;
            }

            case 0x10:
            {
                ConnectionTimer.Stop();
                break;
            }

            case 0x08:
            {
                break;
            }

            case FinalConst.CMD_TYPE_READY_PROGRAM:    //0xEF
            {
                nTimer.Stop();
                break;
            }

            case FinalConst.CMD_TYPE_DO_PROGRAM:    //0xF0
            {
                int SegementIndex = package[11];
                Data.ProgressBarValue = SegementIndex + 1;
                if (SegementIndex < Data.ProgressBarMax)
                {
                    byte[] tempByteArray = new byte[FinalConst.MaxLength];
                    for (int i = 0; i < FinalConst.MaxLength; i++)
                    {
                        tempByteArray[i] = FileData[SegementIndex, i];
                    }
                    SerialPortSendCMD(CMDSender.sendCMD_UpdateFirmware(SegementIndex, tempByteArray));
                }
                if (SegementIndex + 1 == Data.ProgressBarMax)
                {
                }
                break;
            }

            case FinalConst.CMD_TYPE_FINISH_PROGRAM:    //0xF1
            {
                Data.FileInfo   += "Update finished,please select Disconnect and close software.Please restart device after 2 minutes\n";
                Data.UpdateState = false;
                break;
            }

            case FinalConst.CMD_TYPE_GETADDRS_RECALL:    //0x21
            {
                Data.FileInfo += "GETADDR\n";
                Thread.Sleep(1000);
                byte[] GAADRsendBuf = { 0x01, 0x20, 0x03, 0x00, 0x0E, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x60, 0x40 };
                SerialPortSendCMD(GAADRsendBuf);
                break;
            }

            case FinalConst.CMD_TYPE_READPRESETLIST:    //0x15
            {
                int count = 11;
                for (int r = 0; r < 16; r++)
                {
                    for (int i = 0; i < 13; i++)
                    {
                        //MyPreset[r, i] = package[count++];
                        CoreData.m_preset[r, i] = package[count++];
                    }
                }
                Application.Current.Dispatcher.Invoke(() =>
                    {
                        Data.PresetCollection.Clear();
                        for (int i = 0; i < 16; i++)
                        {
                            Data.PresetCollection.Add(CoreData.gPresetName(i));
                        }
                    });

                Data.ManagePresetState = "List of Global Presets completed!";
                break;
            }

            case FinalConst.CMD_TYPE_RecallSinglePreset:
            {
                Application.Current.Dispatcher.Invoke(() =>
                    {
                        exportPresetDataToFile(package);
                    });
                break;
            }

            case FinalConst.CMD_TYPE_LoadPreset_fromPC:
            {
                break;
            }

            case FinalConst.CMD_TYPE_MemoryExportFromDevice:
            {
                int index    = package[11];
                int Progress = (index + 1) / 16 * 100;
                Data.DownloadProgress = string.Format("{0}%", Progress);
                if (index >= 0 && index < 16)
                {
                    for (int i = 0; i < FinalConst.Len_Sence_Pack; i++)
                    {
                        CoreData.m_memory[index, i] = package[i];
                    }
                    if (index == 15)
                    {
                        Application.Current.Dispatcher.Invoke(() =>
                            {
                                ExportMemoryToFile();
                            });
                    }
                }
                break;
            }

            case FinalConst.CMD_TYPE_MemoryImportFromPC:
            {
                int index    = package[11];
                int Progress = (index + 1) / 16 * 100;
                Data.UploadProgress = string.Format("{0}%", Progress);
                if (index < 15)
                {
                    SerialPortSendCMD(CMDSender.sendCMD_MemoryImport_Scence(index + 1));
                }
                break;
            }
            }
            Message.Clear();
        }
コード例 #13
0
ファイル: MainViewModel.cs プロジェクト: saladjay/iAMPUpdate
 private void NTimer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
 {
     SerialPortSendCMD(CMDSender.sendCMD_ReadyToProgram(Data.ProgressBarMax));
 }