/** * \brief Displays the controller configuration dialog. * \param[out] InitData, is SCONTROLLER_DETAILS structure * \param[out] Length , is INT * \return S_OK for success */ HRESULT CDIL_CAN_MHS::CAN_DisplayConfigDlg(PSCONTROLLER_DETAILS InitData, int& Length) { (void)Length; HRESULT result; static struct TMhsCanCfg cfg = {"", 0,0, true}; SCONTROLLER_DETAILS* cntrl; char* str; result = WARN_INITDAT_NCONFIRM; cntrl = (SCONTROLLER_DETAILS*)InitData; if ( cntrl[0].m_nBTR0BTR1 == 0 ) { cfg.CanSpeed = _tcstol(cntrl[0].m_omStrBaudrate.c_str(), &str, 0); if ( cfg.CanSpeed > 1000 ) { cfg.CanSpeed/=1000; } cfg.m_bBitRateSelected = TRUE; cfg.CanBtrValue = 0; } else { cfg.CanSpeed = 0; cfg.CanBtrValue = _tcstol(cntrl[0].m_omStrBTR0.c_str(), &str, 0); cfg.m_bBitRateSelected = FALSE; } strcpy_s(cfg.CanSnrStr, sizeof(cfg.CanSnrStr), cntrl[0].m_omHardwareDesc.c_str()); if (ShowCanSetup(sg_hOwnerWnd, &cfg)) { char chTemp[255]; cntrl[0].m_omHardwareDesc = cfg.CanSnrStr; if (cfg.CanBtrValue) { cntrl[0].m_omStrBaudrate = ""; sprintf_s(chTemp, sizeof(chTemp), "%d", cfg.CanBtrValue); cntrl[0].m_omStrBTR0 = chTemp; cntrl[0].m_nBTR0BTR1 = cfg.CanBtrValue; cfg.m_bBitRateSelected = FALSE; } else { sprintf_s(chTemp, sizeof(chTemp), "%d", cfg.CanSpeed); cntrl[0].m_omStrBaudrate = chTemp; cntrl[0].m_omStrBTR0 = ""; cntrl[0].m_nBTR0BTR1 = cfg.CanBtrValue; cfg.m_bBitRateSelected = TRUE; } if ((result = CAN_SetConfigData(InitData, 1)) == S_OK) { result = INFO_INITDAT_CONFIRM_CONFIG; } } return(result); }
/** * \brief Displays the controller configuration dialog. * \param[out] InitData, is SCONTROLLER_DETAILS structure * \param[out] Length , is INT * \return S_OK for success */ HRESULT CDIL_CAN_MHS::CAN_DisplayConfigDlg(PCHAR& InitData, INT& Length) { (void)Length; HRESULT result; struct TMhsCanCfg cfg; SCONTROLLER_DETAILS* cntrl; char *str; result = WARN_INITDAT_NCONFIRM; cntrl = (SCONTROLLER_DETAILS*)InitData; if (!str_has_char(cntrl[0].m_omStrBaudrate)) { cfg.CanSpeed = _tcstol(cntrl[0].m_omStrBaudrate, &str, 0); cfg.CanBtrValue = 0; } else { cfg.CanSpeed = 0; cfg.CanBtrValue = _tcstol(cntrl[0].m_omStrBTR0, &str, 0); } _tcscpy(cfg.CanSnrStr, cntrl[0].m_omHardwareDesc); if (ShowCanSetup(sg_hOwnerWnd, &cfg)) { _tcscpy(cntrl[0].m_omHardwareDesc, cfg.CanSnrStr); if (cfg.CanBtrValue) { cntrl[0].m_omStrBaudrate[0] = '\0'; _stprintf(cntrl[0].m_omStrBTR0, _T("%d"), cfg.CanBtrValue); } else { _stprintf(cntrl[0].m_omStrBaudrate, _T("%d"), cfg.CanSpeed); cntrl[0].m_omStrBTR0[0] = '\0'; } if ((result = CAN_SetConfigData(InitData, 1)) == S_OK) result = INFO_INITDAT_CONFIRM_CONFIG; } return(result); }