From a9a4b1832e610add00ded8cc4e8ac40ab02e308c Mon Sep 17 00:00:00 2001 From: jinchao <383321154@qq.com> Date: Wed, 7 May 2025 13:59:43 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=BA=86=E7=BC=96=E8=BE=91?= =?UTF-8?q?=E9=9D=9E=E6=95=B0=E7=BB=84=E5=8F=98=E9=87=8F=E6=97=B6=E4=B8=8D?= =?UTF-8?q?=E8=83=BD=E4=BF=AE=E6=94=B9=E7=9A=84=E9=94=99=E8=AF=AF=EF=BC=9B?= =?UTF-8?q?=20=E4=BF=AE=E6=94=B9=E4=BA=86=E5=AF=BC=E5=85=A5=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E6=97=B6=E5=8F=98=E9=87=8F=E7=B1=BB=E5=9E=8B=E4=B8=8D?= =?UTF-8?q?=E6=94=AF=E6=8C=81=E6=97=B6=E7=9A=84=E6=9B=BF=E6=8D=A2=E6=93=8D?= =?UTF-8?q?=E4=BD=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Release/database/XNSim.db | Bin 163840 -> 163840 bytes .../interface-config/variable-form.js | 10 +++++++--- XNSimHtml/utils/icd-parser.js | 18 +++++++++++++++++- 3 files changed, 24 insertions(+), 4 deletions(-) diff --git a/Release/database/XNSim.db b/Release/database/XNSim.db index b86f6450d4e724f7dc87b9a1e4b511d8f35839f7..b28d5004fd8f74a5f6a0caa3606e9e0443109615 100644 GIT binary patch delta 1554 zcmZuxe@qi+7{2fA^?G;hwX<-*z)JZcPNN8v@P&;qrh{7@#a;E-PY zV=!xnk#QhelfB**pJR}CEOZkzhUoFo+u}6f7sr)?X=#p z9<%cDqMR=gDO>zX+;4egIb|sjz7-CdADZVJAM;oEa?|IgX1ELU;6fjw&D@%!itD34 zrM6uCK_#dMvdASKy!b)1%x${DIWvXn|A7+5Y*8f% zp{-=Q^mM5noXX)M0R{@=tn2NnUmN7(}n-(6n=$DNMRv3 z@!!K`PIGpKwdsFZ0zNuo!wVx9dEsj|#p+zF0XfCbjIzEwR<>Iu&wX?Z{cv$|;%M}p z!LiC!A$}F9w#NpwKZ{WVsw9fIX||Ajhrs>i=wnls@(U-YXMI;<9G{A>pJMai?c);O zGk(=+KfsLhZ5gs;C{M;4J;O($Q|}Oboj7)!fR)*D2^@#Cn%*waCS`u(A-HOO`E{Q>vTLAE67pM9F5so&av#M zxBpMt2xJnQ3~3aCmA??@4Ww#PRT*( zC+UP_6&J-y%lDR(!VBS|P;KtyKjqs@znjjPw!t+Bp%e9avzo{t=`|-)QS1($oOiB+`*l_Lj!N?MW*$;KiDZym^h~(-Ty6d4aT^e$C8|^s&`?Nz@A! zX*`3|;WyyPFbISy%acbn6N4L7vRp(LIq8LBGEfIHIZ+2C@-YoE@X9>Z zdoK(*;&6Oybesku^{@^OAyt_%_B?T#ap?;#A+lUYZCMF}EtT8_58&T4#Agi_S@3~B zb<+nvCyEnGC%CqAap|0tFJ2QHEVnHY;Vbzs6?coK zT8?PxZ)1SjxwlMz%UY*nWA44t;bS9Hqcbsg`{YP0rq$^^z4gqZAX$$?U23Hh9*U`# Iy&#qS1C~L2*#H0l delta 1070 zcmZvaUr1A77{<@{?$7x%&p9r2N@~qkE+K7BbW@q7lFP)JT|{}&6u0Tj=C=F;l5?kS zk_ud_z90gFuA)fs;v{sDH-U7MS3#7Blo>>&MBYhfpH5HEclkX(p6_|y?~TW~c$}Na zN47*kqs~T^4c(mfJ@OjGJjz0~Q^G5ujsMIKWPHb_CFDZwvS$gs70@a!_=)C|&~M5& zpY0s*^Ax4<(lpvDtYZE`%k#s*GiINzT?uxF{62GXJ~GM#n}~J-UtLBPY|erMcy1Z(o0*P=I3ZF-#AYkYFidSS5wYWs zdqGrLjF0BCy`^dU=c6us{|72&2alw#D(kJu%vk*{KGPO+BO!2@h;HIqf{le>$H)I5 z9&fB7{`&fuygr7+sa8@jPKgs@ksu4r{3<`h(;3MOli`WM#>reAyU0dZ19O+zPtVdG z{Tuy7-EW;o`&8Sa`KGz1$%ET)5Y3`4#8L5tWS8SMs773mWZce%*UCW^4#%n>mkUUl zM0QzIauqJ^1$MUp{-iJliI&9e3V5>$ituC$5SqI2V`?Ti6^kbig#c!5FPRMmG98$U{z_%n!cO2+;D{3}+<*jW@WrSyucb3!!i!E|c0qZ?3Fi?z93x<(6?|Ia|@UEtb-yqNYt;VJeWTf)3#-1G-JsNd8- z)F0B#>DshkwPDSMCZ;jM4ah^!P#yJ-@+wQJJ|W4Oda|;b?6w;(bc0is+Smpw4Cj?B m1ZvE}5f3z&f}w$?L4TjQp|k6fFB%;3n_HE9^2P;Vi~j=7aWNzS diff --git a/XNSimHtml/components/interface-config/variable-form.js b/XNSimHtml/components/interface-config/variable-form.js index ff2b3c4..84b54f9 100644 --- a/XNSimHtml/components/interface-config/variable-form.js +++ b/XNSimHtml/components/interface-config/variable-form.js @@ -179,6 +179,10 @@ class VariableForm extends HTMLElement { e.preventDefault(); const formData = new FormData(form); + const isArray = formData.get('interfaceIsArray') ? 1 : 0; + const arraySize1 = parseInt(formData.get('interfaceArraySize_1')) || 0; + const arraySize2 = parseInt(formData.get('interfaceArraySize_2')) || 0; + const data = { SystemName: 'XNSim', ProductName: formData.get('productName'), @@ -187,9 +191,9 @@ class VariableForm extends HTMLElement { InterfaceName: formData.get('interfaceName'), InterfaceType: formData.get('interfaceType'), InterfaceOption: 1, - InterfaceIsArray: formData.get('interfaceIsArray') ? 1 : 0, - InterfaceArraySize_1: formData.get('interfaceArraySize_1'), - InterfaceArraySize_2: formData.get('interfaceArraySize_2'), + InterfaceIsArray: isArray, + InterfaceArraySize_1: isArray && arraySize1 > 1 ? arraySize1 : 0, + InterfaceArraySize_2: isArray && arraySize1 > 1 ? arraySize2 : 0, InterfaceNotes: formData.get('interfaceNotes') }; diff --git a/XNSimHtml/utils/icd-parser.js b/XNSimHtml/utils/icd-parser.js index 7e97165..f3aef7c 100644 --- a/XNSimHtml/utils/icd-parser.js +++ b/XNSimHtml/utils/icd-parser.js @@ -41,6 +41,22 @@ function parseArrayDimensions(dimensions) { return { isArray: false, arraySize1: 0, arraySize2: 0 }; } +/** + * 处理变量类型替换规则 + * @param {string} type - 原始变量类型 + * @returns {string} 替换后的变量类型 + */ +function processVariableType(type) { + if (!type) return ''; + + const typeMap = { + 'unsigned char': 'char', + 'int': 'long' + }; + + return typeMap[type] || type; +} + /** * 解析单个工作表 * @param {Object} worksheet - Excel工作表对象 @@ -60,7 +76,7 @@ function parseWorksheet(worksheet, structName) { isArray: dimensions.isArray, arraySize1: dimensions.arraySize1, arraySize2: dimensions.arraySize2, - variableType: row['Variable Type'] || '' + variableType: processVariableType(row['Variable Type'] || '') }; }); }