Files
virtual_simulation_midware/midware/config/__pycache__/base_config.cpython-311.pyc

39 lines
5.8 KiB
Plaintext
Raw Normal View History

2026-06-16 15:40:19 +08:00
<EFBFBD>
<0C>j<> <00> <00><><00>ddlZddlmZddlZddlmZ dddddd <09>Zgd
<EFBFBD>d d d d d d d d<0E>Zdddddddd<15>Zia ej
<00><00>Z d<16>Z e <0C><00> dde fd<18>Zdefd<1A>Zd<1B>Zd<1C>ZdS)<1E>N)<01>logger)<01>load_csv_configz 10.20.48.138i<EFBFBD>"z 10.20.48.129i<EFBFBD>Ii)<05>LOCAL_IP<49>
LOCAL_PORT<EFBFBD>FAULT_INJECT_IP<49>FAULT_INJECT_PORT<52> BUFFER_SIZE)<05>UART<52>CAN<41>1553B<33>AD<41>OC<4F>
<00><00>)<08> SUPPORT_BUS<55>MAX_DEVICE_NUM<55>WRITE_BYTE_UART<52>WRITE_BYTE_CAN<41> READ_BYTE_CAN<41>WRITE_BYTE_1553B<33> WRITE_BYTE_AD<41> READ_BYTE_OC<4F><00><00> <00><00><00>|)<07>TBR<42> FIFO_STATUS<55> FRAME_COUNT<4E> FIFO_REMAIN<49> CLOCK_CONFIG<49>SCRAMBLE<4C>RESETc<00><><00>tjdd<02><03><00>tjddd<06><07><00>tjdd d
<EFBFBD><07><00>dS) N<>logsT)<01>exist_okz"logs/run_{time:YYYYMMDDHHmmss}.log<6F>INFOz0{time:YYYY-MM-DD HH:mm:ss} | {level} | {message})<02>level<65>formatz$logs/error_{time:YYYYMMDDHHmmss}.log<6F>ERRORz@{time:YYYY-MM-DD HH:mm:ss} | {level} | {file}:{line} | {message})<04>os<6F>makedirsr<00>add<64><00><00>ne:\pythonProjects\virtual_simulation_midware_20260508\virtual_simulation_midware\midware\config\base_config.py<70> init_loggerr43sm<00><00><06>K<EFBFBD><06><14>&<26>&<26>&<26>&<26>
<EFBFBD>J<EFBFBD>3<>6<EFBFBD>H<>J<01>J<01>J<01>J<01>
<EFBFBD>J<EFBFBD>5<>W<EFBFBD>X<>Z<01>Z<01>Z<01>Z<01>Z<01>Zr2<00>csv_pathc <00><><00>|<00>|tj<00>tj<00>tj<00>tj<00>t<00><00><00><00><00><00>d<02><00>}t
5 tj<00>|<00><00>r<t|<00><00>atj
dtt<00><00><00>d|<00><00><04><00>niatj d|<00><00><02><00>n?#t$r2}iatj dt|<01><00><00><00>d<07><08><00>Yd}~nd}~wwxYwddd<01><00>n #1swxYwYtS) u<>
初始化外设配置:工程启动时**唯一调用**加载CSV配置到DEVICE_CONFIG_DICT
:param csv_path: 配置文件路径默认取工程根目录config_files/device_config.csv
Nzconfig_files/device_config.csvu配置初始化成功加载u个外设配置文件u0配置初始化失败配置文件不存在u配置初始化异常T)<01>exc_info)r.<00>path<74>join<69>dirname<6D>__file__<5F> CONFIG_LOCK<43>existsr<00>DEVICE_CONFIG_DICTr<00>info<66>len<65>error<6F> Exception<6F>str)r5<00>es r3<00>init_base_configrEys<><00><00> <10><17><15>7<EFBFBD><<3C><<3C> <0E>G<EFBFBD>O<EFBFBD>O<EFBFBD>B<EFBFBD>G<EFBFBD>O<EFBFBD>O<EFBFBD>B<EFBFBD>G<EFBFBD>O<EFBFBD>O<EFBFBD>H<EFBFBD>,E<>,E<>F<>F<> G<> G<> ,<2C>
<EFBFBD>
<EFBFBD><08>
<15> M<01> M<01>
M<01><11>w<EFBFBD>~<7E>~<7E>h<EFBFBD>'<27>'<27> \<01>%4<>X<EFBFBD>%><3E>%><3E>"<22><16> <0B>{<7B>S<EFBFBD>AS<41>=T<>=T<>{<7B>{<7B>qy<71>{<7B>{<7B>|<7C>|<7C>|<7C>|<7C>%'<27>"<22><16> <0C>Z<>PX<50>Z<>Z<>[<5B>[<5B>[<5B><><EFBFBD><18> M<01> M<01> M<01>!#<23> <1E> <12>L<EFBFBD><<3C>C<EFBFBD><01>F<EFBFBD>F<EFBFBD><<3C><<3C>t<EFBFBD> L<> L<> L<> L<> L<> L<> L<> L<> L<><4C><EFBFBD><EFBFBD><EFBFBD> M<01><><EFBFBD><EFBFBD> M<01> M<01> M<01> M<01> M<01> M<01> M<01> M<01> M<01> M<01> M<01><><EFBFBD><EFBFBD> M<01> M<01> M<01> M<01> <1E>s=<00>E<03>A4C=<02><E<03>=
D9<05>(D4<05>/E<03>4D9<05>9E<03>E <07>E <07>
new_configc<00><><00>t5t|t<00><00>s"tjd<01><00> ddd<02><00>dS|<00><00><00>atjdtt <00><00><00><00><02><00> ddl m
}|<01> |<00><00>n;#t$r.}tj dt|<02><00><00><00><02><00>Yd}~nd}~wwxYwddd<02><00>n #1swxYwYdS) u<>
唯一配置更新入口修改配置后自动同步UDP端口
【关键】延迟导入udp_server避免模块顶层循环导入
u-配置更新失败新配置非字典类型NFu*配置更新成功当前外设数量r)<01>
udp_serveru-UDP配置同步失败未找到UDP模块T)r<<00>
isinstance<EFBFBD>dictrrA<00>copyr>r?r@<00>midware.network.udp_handlerrH<00>reload_sockets<74> ImportError<6F>warningrC)rFrHrDs r3<00>update_device_configrP<00>s<><00><00>
<15> U<01> U<01><19>*<2A>d<EFBFBD>+<2B>+<2B> <19> <12>L<EFBFBD>H<> I<> I<> I<><18> U<01> U<01> U<01> U<01> U<01> U<01> U<01> U<01>
(<28>_<EFBFBD>_<EFBFBD>.<2E>.<2E><1A><0E> <0B>Z<><13>EW<45>AX<41>AX<41>Z<>Z<>[<5B>[<5B>[<5B> U<01> ><3E> ><3E> ><3E> ><3E> ><3E> ><3E> <16> %<25> %<25>j<EFBFBD> 1<> 1<> 1<> 1<><31><1A> U<01> U<01> U<01> <12>N<EFBFBD>S<>3<EFBFBD>q<EFBFBD>6<EFBFBD>6<EFBFBD>S<>S<> T<> T<> T<> T<> T<> T<> T<> T<><54><EFBFBD><EFBFBD><EFBFBD> U<01><><EFBFBD><EFBFBD> U<01> U<01> U<01> U<01> U<01> U<01> U<01> U<01> U<01> U<01> U<01><><EFBFBD><EFBFBD> U<01> U<01> U<01> U<01> <10>4sA<00>+C!<03>=C!<03>>B<02>C!<03>
C<05>$$C <05>C!<03> C<05>C!<03>!C%<07>(C%c<00>v<00>t5t<00><00><00>cddd<01><00>S#1swxYwYdS)u<>
全局配置**只读接口**:所有其他模块必须通过此方法获取配置
返回副本,防止外部修改原全局变量导致数据混乱
N)r<r>rKr1r2r3<00>get_device_configrR<00>s}<00><00>
<15>)<29>)<29>!<21>&<26>&<26>(<28>(<28>)<29>)<29>)<29>)<29>)<29>)<29>)<29>)<29>)<29>)<29>)<29>)<29><><EFBFBD><EFBFBD>)<29>)<29>)<29>)<29>)<29>)s <00>.<03>2<07>2c<00>4<00>t<00><00><00>S)uUDP基础配置只读接口)<02>
UDP_CONFIGrKr1r2r3<00>get_udp_configrU<00>s<00><00> <15>?<3F>?<3F> <1C> <1C>r2)N)r.<00>logurur<00> threading<6E>midware.config.excel_configrrT<00>
BUS_CONFIG<EFBFBD>UART_CHIP_CONFIGr><00>RLockr<r4rCrErJrPrRrUr1r2r3<00><module>r\sV<00><01> <09> <09> <09> <09><19><19><19><19><19><19><10><10><10><10>7<>7<>7<>7<>7<>7<><04> <1F><16>%<25><1E><17> <02><02>
<EFBFBD>8<>7<>7<><18><18><17><16><19><16><15> <02> <02>
<EFBFBD> <10><17><17><17><18><14> <11><02><02><10><18><12><1E>i<EFBFBD>o<EFBFBD><1F><1F> <0B>Z<01>Z<01>Z<01> <0C> <0B> <0A> <0A> <0A><04>&&<04>R<1E><1E>s<EFBFBD><1E><1E><1E><1E>6<10>T<EFBFBD><10><10><10><10>*)<29>)<29>)<29><1D><1D><1D><1D>r2