feat: 完成状态机,完成刷卡、数据上报、命令处理
This commit is contained in:
parent
d96b2070f2
commit
ba2ce4e0ce
716
.idea/workspace.xml
generated
716
.idea/workspace.xml
generated
@ -29,12 +29,21 @@
|
|||||||
</configurations>
|
</configurations>
|
||||||
</component>
|
</component>
|
||||||
<component name="ChangeListManager">
|
<component name="ChangeListManager">
|
||||||
<list default="true" id="56631632-52f0-4e39-b905-89e46eb6e768" name="Changes" comment="chore: update .gitignore">
|
<list default="true" id="56631632-52f0-4e39-b905-89e46eb6e768" name="Changes" comment="dev: 暂时禁用指令下发处理">
|
||||||
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/.mxproject" beforeDir="false" afterPath="$PROJECT_DIR$/.mxproject" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/Core/Inc/main.h" beforeDir="false" afterPath="$PROJECT_DIR$/Core/Inc/main.h" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/Core/Inc/main.h" beforeDir="false" afterPath="$PROJECT_DIR$/Core/Inc/main.h" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/Core/Inc/oledfont.h" beforeDir="false" afterPath="$PROJECT_DIR$/Core/Inc/oledfont.h" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/Core/Inc/rc522.h" beforeDir="false" afterPath="$PROJECT_DIR$/Core/Inc/rc522.h" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/Core/Inc/stm32f1xx_hal_conf.h" beforeDir="false" afterPath="$PROJECT_DIR$/Core/Inc/stm32f1xx_hal_conf.h" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/Core/Inc/stm32f1xx_it.h" beforeDir="false" afterPath="$PROJECT_DIR$/Core/Inc/stm32f1xx_it.h" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/Core/Src/OneNet.c" beforeDir="false" afterPath="$PROJECT_DIR$/Core/Src/OneNet.c" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/Core/Src/esp8266.c" beforeDir="false" afterPath="$PROJECT_DIR$/Core/Src/esp8266.c" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/Core/Src/freertos.c" beforeDir="false" afterPath="$PROJECT_DIR$/Core/Src/freertos.c" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/Core/Src/freertos.c" beforeDir="false" afterPath="$PROJECT_DIR$/Core/Src/freertos.c" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/Core/Src/main.c" beforeDir="false" afterPath="$PROJECT_DIR$/Core/Src/main.c" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/Core/Src/main.c" beforeDir="false" afterPath="$PROJECT_DIR$/Core/Src/main.c" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/Core/Src/tim.c" beforeDir="false" afterPath="$PROJECT_DIR$/Core/Src/tim.c" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/Core/Src/rc522.c" beforeDir="false" afterPath="$PROJECT_DIR$/Core/Src/rc522.c" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/Core/Src/spi.c" beforeDir="false" afterPath="$PROJECT_DIR$/Core/Src/spi.c" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/Core/Src/stm32f1xx_it.c" beforeDir="false" afterPath="$PROJECT_DIR$/Core/Src/stm32f1xx_it.c" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/IntelliChargingPile.ioc" beforeDir="false" afterPath="$PROJECT_DIR$/IntelliChargingPile.ioc" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/IntelliChargingPile.ioc" beforeDir="false" afterPath="$PROJECT_DIR$/IntelliChargingPile.ioc" afterDir="false" />
|
||||||
</list>
|
</list>
|
||||||
<option name="SHOW_DIALOG" value="false" />
|
<option name="SHOW_DIALOG" value="false" />
|
||||||
@ -201,6 +210,669 @@
|
|||||||
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||||
</component>
|
</component>
|
||||||
<component name="ProjectApplicationVersion">
|
<component name="ProjectApplicationVersion">
|
||||||
<option name="ide" value="CLion" />
|
<option name="ide" value="CLion" />
|
||||||
@ -305,7 +977,7 @@
|
|||||||
<workItem from="1743488783461" duration="3691000" />
|
<workItem from="1743488783461" duration="3691000" />
|
||||||
<workItem from="1743492489952" duration="8816000" />
|
<workItem from="1743492489952" duration="8816000" />
|
||||||
<workItem from="1743525779889" duration="15870000" />
|
<workItem from="1743525779889" duration="15870000" />
|
||||||
<workItem from="1746680992201" duration="23593000" />
|
<workItem from="1746680992201" duration="37397000" />
|
||||||
</task>
|
</task>
|
||||||
<task id="LOCAL-00001" summary="initial commit: oled, rc522, exti">
|
<task id="LOCAL-00001" summary="initial commit: oled, rc522, exti">
|
||||||
<option name="closed" value="true" />
|
<option name="closed" value="true" />
|
||||||
@ -395,7 +1067,15 @@
|
|||||||
<option name="project" value="LOCAL" />
|
<option name="project" value="LOCAL" />
|
||||||
<updated>1746705282234</updated>
|
<updated>1746705282234</updated>
|
||||||
</task>
|
</task>
|
||||||
<option name="localTasksCounter" value="12" />
|
<task id="LOCAL-00012" summary="dev: 暂时禁用指令下发处理">
|
||||||
|
<option name="closed" value="true" />
|
||||||
|
<created>1746710418606</created>
|
||||||
|
<option name="number" value="00012" />
|
||||||
|
<option name="presentableId" value="LOCAL-00012" />
|
||||||
|
<option name="project" value="LOCAL" />
|
||||||
|
<updated>1746710418606</updated>
|
||||||
|
</task>
|
||||||
|
<option name="localTasksCounter" value="13" />
|
||||||
<servers />
|
<servers />
|
||||||
</component>
|
</component>
|
||||||
<component name="TypeScriptGeneratedFilesManager">
|
<component name="TypeScriptGeneratedFilesManager">
|
||||||
@ -417,35 +1097,29 @@
|
|||||||
<MESSAGE value="break: before freertos" />
|
<MESSAGE value="break: before freertos" />
|
||||||
<MESSAGE value="feat: before tring to fix cmdHandler" />
|
<MESSAGE value="feat: before tring to fix cmdHandler" />
|
||||||
<MESSAGE value="chore: update .gitignore" />
|
<MESSAGE value="chore: update .gitignore" />
|
||||||
<option name="LAST_COMMIT_MESSAGE" value="chore: update .gitignore" />
|
<MESSAGE value="dev: 暂时禁用指令下发处理" />
|
||||||
|
<option name="LAST_COMMIT_MESSAGE" value="dev: 暂时禁用指令下发处理" />
|
||||||
</component>
|
</component>
|
||||||
<component name="XDebuggerManager">
|
<component name="XDebuggerManager">
|
||||||
<breakpoint-manager>
|
<breakpoint-manager>
|
||||||
<breakpoints>
|
<breakpoints>
|
||||||
<line-breakpoint enabled="true" type="com.jetbrains.cidr.execution.debugger.OCBreakpointType">
|
<line-breakpoint enabled="true" type="com.jetbrains.cidr.execution.debugger.OCBreakpointType">
|
||||||
<url>file://$PROJECT_DIR$/Core/Src/OneNet.c</url>
|
<url>file://$PROJECT_DIR$/Core/Src/OneNet.c</url>
|
||||||
<line>195</line>
|
<line>66</line>
|
||||||
<option name="timeStamp" value="3" />
|
<option name="timeStamp" value="16" />
|
||||||
|
</line-breakpoint>
|
||||||
|
<line-breakpoint enabled="true" type="com.jetbrains.cidr.execution.debugger.OCBreakpointType">
|
||||||
|
<url>file://$PROJECT_DIR$/Core/Src/OneNet.c</url>
|
||||||
|
<line>163</line>
|
||||||
|
<option name="timeStamp" value="17" />
|
||||||
</line-breakpoint>
|
</line-breakpoint>
|
||||||
</breakpoints>
|
</breakpoints>
|
||||||
</breakpoint-manager>
|
</breakpoint-manager>
|
||||||
<watches-manager>
|
<watches-manager>
|
||||||
<configuration name="com.jetbrains.cidr.embedded.openocd.conf.type">
|
<configuration name="com.jetbrains.cidr.embedded.openocd.conf.type">
|
||||||
<watch expression="(float) uwTick/1000.0f" language="C++" />
|
<watch expression="rc522Handle.state" language="C++" />
|
||||||
<watch expression="new_crc.word16" language="C++" />
|
<watch expression="rc522Handle.status" language="C++" />
|
||||||
<watch expression="IM_RxBuf" language="C++" />
|
|
||||||
<watch expression="IM_TxBuf" language="C++" />
|
|
||||||
<watch expression="new_crc" />
|
|
||||||
</configuration>
|
</configuration>
|
||||||
<inline-watch fileUrl="file://$PROJECT_DIR$/Core/Src/main.c" line="314">
|
|
||||||
<watch expression="@ ALREADY PREPROCESSED @UART2_RxData" />
|
|
||||||
</inline-watch>
|
|
||||||
<inline-watch fileUrl="file://$PROJECT_DIR$/Core/Src/IM1281B.c" line="87">
|
|
||||||
<watch expression="@ ALREADY PREPROCESSED @new_crc" />
|
|
||||||
</inline-watch>
|
|
||||||
<inline-watch fileUrl="file://$PROJECT_DIR$/Core/Src/IM1281B.c" line="88">
|
|
||||||
<watch expression="IM_RecvLen" />
|
|
||||||
</inline-watch>
|
|
||||||
</watches-manager>
|
</watches-manager>
|
||||||
</component>
|
</component>
|
||||||
<component name="XSLT-Support.FileAssociations.UIState">
|
<component name="XSLT-Support.FileAssociations.UIState">
|
||||||
|
38
.mxproject
38
.mxproject
File diff suppressed because one or more lines are too long
@ -40,6 +40,8 @@ extern char flag_1s;
|
|||||||
extern char flag_2s;
|
extern char flag_2s;
|
||||||
extern char flag_5s;
|
extern char flag_5s;
|
||||||
extern char flag_10s;
|
extern char flag_10s;
|
||||||
|
|
||||||
|
extern char IC_CARD_ID[16];
|
||||||
/* USER CODE END ET */
|
/* USER CODE END ET */
|
||||||
|
|
||||||
/* Exported constants --------------------------------------------------------*/
|
/* Exported constants --------------------------------------------------------*/
|
||||||
|
@ -200,32 +200,75 @@ const unsigned char F8X16[] =
|
|||||||
//部分汉字
|
//部分汉字
|
||||||
const unsigned char Hzk[][32] =
|
const unsigned char Hzk[][32] =
|
||||||
{
|
{
|
||||||
// 你(0) 好(1) 世(2) 界(3) 按(4) 键(5) 次(6) 数(7)
|
// 你(0) 好(1) 等(2) 待(3) 配(4) 网(5) 连(6) 接(7) 服(8) 务(9) 器(10) 设(11) 备(12) 在(13) 离(14) 上(15)
|
||||||
|
// 线(16) 卡(17) 号(18) 余(19) 额(20) 正(21) 在(22) 停(23) 止(24) 充(25) 电(26) 消(27) 费(28) 输(29) 出(30) 开(31)
|
||||||
|
// 关(32)
|
||||||
|
|
||||||
{0x00, 0x80, 0x60, 0xF8, 0x07, 0x40, 0x20, 0x18, 0x0F, 0x08, 0xC8, 0x08, 0x08, 0x28, 0x18, 0x00},
|
{0x00, 0x80, 0x60, 0xF8, 0x07, 0x40, 0x20, 0x18, 0x0F, 0x08, 0xC8, 0x08, 0x08, 0x28, 0x18, 0x00},
|
||||||
{0x01, 0x00, 0x00, 0xFF, 0x00, 0x10, 0x0C, 0x03, 0x40, 0x80, 0x7F, 0x00, 0x01, 0x06, 0x18, 0x00}, /*"你",0*/
|
{0x01, 0x00, 0x00, 0xFF, 0x00, 0x10, 0x0C, 0x03, 0x40, 0x80, 0x7F, 0x00, 0x01, 0x06, 0x18, 0x00}, /*"你",0*/
|
||||||
|
|
||||||
{0x10, 0x10, 0xF0, 0x1F, 0x10, 0xF0, 0x00, 0x80, 0x82, 0x82, 0xE2, 0x92, 0x8A, 0x86, 0x80, 0x00},
|
{0x10, 0x10, 0xF0, 0x1F, 0x10, 0xF0, 0x00, 0x80, 0x82, 0x82, 0xE2, 0x92, 0x8A, 0x86, 0x80, 0x00},
|
||||||
{0x40, 0x22, 0x15, 0x08, 0x16, 0x61, 0x00, 0x00, 0x40, 0x80, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00}, /*"好",1*/
|
{0x40, 0x22, 0x15, 0x08, 0x16, 0x61, 0x00, 0x00, 0x40, 0x80, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00}, /*"好",1*/
|
||||||
|
{0x08, 0x04, 0x23, 0x22, 0x26, 0x2A, 0x22, 0xFA, 0x24, 0x23, 0x22, 0x26, 0x2A, 0x02, 0x02, 0x00},
|
||||||
{0x20, 0x20, 0x20, 0xFE, 0x20, 0x20, 0xFF, 0x20, 0x20, 0x20, 0xFF, 0x20, 0x20, 0x20, 0x20, 0x00},
|
{0x01, 0x09, 0x09, 0x09, 0x19, 0x69, 0x09, 0x09, 0x49, 0x89, 0x7D, 0x09, 0x09, 0x09, 0x01, 0x00}, /*"等",2*/
|
||||||
{0x00, 0x00, 0x00, 0x7F, 0x40, 0x40, 0x47, 0x44, 0x44, 0x44, 0x47, 0x40, 0x40, 0x40, 0x00, 0x00}, /*"世",2*/
|
{0x00, 0x10, 0x88, 0xC4, 0x33, 0x40, 0x48, 0x48, 0x48, 0x7F, 0x48, 0xC8, 0x48, 0x48, 0x40, 0x00},
|
||||||
|
{0x02, 0x01, 0x00, 0xFF, 0x00, 0x02, 0x0A, 0x32, 0x02, 0x42, 0x82, 0x7F, 0x02, 0x02, 0x02, 0x00}, /*"待",3*/
|
||||||
{0x00, 0x00, 0x00, 0xFE, 0x92, 0x92, 0x92, 0xFE, 0x92, 0x92, 0x92, 0xFE, 0x00, 0x00, 0x00, 0x00},
|
{0xF2, 0x12, 0xFE, 0x12, 0xFE, 0x12, 0xF2, 0x00, 0x84, 0x84, 0x84, 0x84, 0xFC, 0x00, 0x00, 0x00},
|
||||||
{0x08, 0x08, 0x04, 0x84, 0x62, 0x1E, 0x01, 0x00, 0x01, 0xFE, 0x02, 0x04, 0x04, 0x08, 0x08, 0x00}, /*"界",3*/
|
{0xFF, 0x4A, 0x49, 0x48, 0x49, 0x49, 0xFF, 0x00, 0x3F, 0x40, 0x40, 0x40, 0x41, 0x40, 0x70, 0x00}, /*"配",4*/
|
||||||
|
{0x00, 0xFE, 0x02, 0x22, 0x42, 0x82, 0x72, 0x02, 0x22, 0x42, 0x82, 0x72, 0x02, 0xFE, 0x00, 0x00},
|
||||||
{0x10, 0x10, 0x10, 0xFF, 0x90, 0x20, 0x98, 0x88, 0x88, 0xE9, 0x8E, 0x88, 0x88, 0xA8, 0x98, 0x00},
|
{0x00, 0xFF, 0x10, 0x08, 0x06, 0x01, 0x0E, 0x10, 0x08, 0x06, 0x01, 0x4E, 0x80, 0x7F, 0x00, 0x00}, /*"网",5*/
|
||||||
{0x02, 0x42, 0x81, 0x7F, 0x00, 0x00, 0x80, 0x84, 0x4B, 0x28, 0x10, 0x28, 0x47, 0x80, 0x00, 0x00}, /*"按",4*/
|
{0x40, 0x40, 0x42, 0xCC, 0x00, 0x04, 0x44, 0x64, 0x5C, 0x47, 0xF4, 0x44, 0x44, 0x44, 0x04, 0x00},
|
||||||
|
{0x00, 0x40, 0x20, 0x1F, 0x20, 0x44, 0x44, 0x44, 0x44, 0x44, 0x7F, 0x44, 0x44, 0x44, 0x44, 0x00}, /*"连",6*/
|
||||||
{0x40, 0x30, 0xEF, 0x24, 0x24, 0x80, 0xE4, 0x9C, 0x10, 0x54, 0x54, 0xFF, 0x54, 0x7C, 0x10, 0x00},
|
{0x10, 0x10, 0x10, 0xFF, 0x10, 0x50, 0x44, 0x54, 0x65, 0xC6, 0x44, 0x64, 0x54, 0x44, 0x40, 0x00},
|
||||||
{0x01, 0x01, 0x7F, 0x21, 0x51, 0x26, 0x18, 0x27, 0x44, 0x45, 0x45, 0x5F, 0x45, 0x45, 0x44, 0x00}, /*"键",5*/
|
{0x04, 0x44, 0x82, 0x7F, 0x01, 0x82, 0x82, 0x4A, 0x56, 0x23, 0x22, 0x52, 0x4E, 0x82, 0x02, 0x00}, /*"接",7*/
|
||||||
|
{0x00, 0x00, 0xFE, 0x22, 0x22, 0x22, 0xFE, 0x00, 0xFE, 0x82, 0x82, 0x92, 0xA2, 0x9E, 0x00, 0x00},
|
||||||
{0x00, 0x02, 0x0C, 0x80, 0x60, 0x80, 0x40, 0x30, 0x0F, 0xC8, 0x08, 0x08, 0x28, 0x18, 0x00, 0x00},
|
{0x80, 0x60, 0x1F, 0x02, 0x42, 0x82, 0x7F, 0x00, 0xFF, 0x40, 0x2F, 0x10, 0x2C, 0x43, 0x80, 0x00}, /*"服",8*/
|
||||||
{0x02, 0x02, 0x7E, 0x01, 0x80, 0x40, 0x20, 0x18, 0x06, 0x01, 0x06, 0x18, 0x20, 0x40, 0x80, 0x00}, /*"次",6*/
|
{0x00, 0x00, 0x90, 0x88, 0x4C, 0x57, 0xA4, 0x24, 0x54, 0x54, 0x8C, 0x84, 0x00, 0x00, 0x00, 0x00},
|
||||||
|
{0x01, 0x01, 0x80, 0x42, 0x22, 0x1A, 0x07, 0x02, 0x42, 0x82, 0x42, 0x3E, 0x01, 0x01, 0x01, 0x00}, /*"务",9*/
|
||||||
{0x90, 0x52, 0x34, 0x10, 0xFF, 0x10, 0x34, 0x52, 0x80, 0x70, 0x8F, 0x08, 0x08, 0xF8, 0x08, 0x00},
|
{0x80, 0x80, 0x9E, 0x92, 0x92, 0x92, 0x9E, 0xE0, 0x80, 0x9E, 0xB2, 0xD2, 0x92, 0x9E, 0x80, 0x00},
|
||||||
{0x82, 0x9A, 0x56, 0x63, 0x22, 0x52, 0x8E, 0x00, 0x80, 0x40, 0x33, 0x0C, 0x33, 0x40, 0x80, 0x00}, /*"数",7*/
|
{0x08, 0x08, 0xF4, 0x94, 0x92, 0x92, 0xF1, 0x00, 0x01, 0xF2, 0x92, 0x94, 0x94, 0xF8, 0x08, 0x00}, /*"器",10*/
|
||||||
|
{0x40, 0x40, 0x42, 0xCC, 0x00, 0x40, 0xA0, 0x9E, 0x82, 0x82, 0x82, 0x9E, 0xA0, 0x20, 0x20, 0x00},
|
||||||
|
{0x00, 0x00, 0x00, 0x3F, 0x90, 0x88, 0x40, 0x43, 0x2C, 0x10, 0x28, 0x46, 0x41, 0x80, 0x80, 0x00}, /*"设",11*/
|
||||||
|
{0x80, 0x90, 0x90, 0x48, 0x4C, 0x57, 0x24, 0x24, 0x24, 0x54, 0x4C, 0x44, 0x80, 0x80, 0x80, 0x00},
|
||||||
|
{0x00, 0x00, 0x00, 0xFF, 0x49, 0x49, 0x49, 0x7F, 0x49, 0x49, 0x49, 0xFF, 0x00, 0x00, 0x00, 0x00}, /*"备",12*/
|
||||||
|
{0x08, 0x08, 0x88, 0xC8, 0x38, 0x0C, 0x0B, 0x08, 0x08, 0xE8, 0x08, 0x08, 0x08, 0x08, 0x08, 0x00},
|
||||||
|
{0x02, 0x01, 0x00, 0xFF, 0x40, 0x41, 0x41, 0x41, 0x41, 0x7F, 0x41, 0x41, 0x41, 0x41, 0x40, 0x00}, /*"在",13*/
|
||||||
|
{0x04, 0x04, 0x04, 0xF4, 0x84, 0xD4, 0xA5, 0xA6, 0xA4, 0xD4, 0x84, 0xF4, 0x04, 0x04, 0x04, 0x00},
|
||||||
|
{0x00, 0xFE, 0x02, 0x02, 0x12, 0x3A, 0x16, 0x13, 0x12, 0x1A, 0x32, 0x42, 0x82, 0x7E, 0x00, 0x00}, /*"离",14*/
|
||||||
|
{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00},
|
||||||
|
{0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x7F, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00}, /*"上",15*/
|
||||||
|
{0x20, 0x30, 0xAC, 0x63, 0x20, 0x18, 0x80, 0x90, 0x90, 0xFF, 0x90, 0x49, 0x4A, 0x48, 0x40, 0x00},
|
||||||
|
{0x22, 0x67, 0x22, 0x12, 0x12, 0x12, 0x40, 0x40, 0x20, 0x13, 0x0C, 0x14, 0x22, 0x41, 0xF8, 0x00}, /*"线",16*/
|
||||||
|
{0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0xFF, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x40, 0x40, 0x00},
|
||||||
|
{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x02, 0x04, 0x08, 0x10, 0x00, 0x00, 0x00}, /*"卡",17*/
|
||||||
|
{0x80, 0x80, 0x80, 0xBE, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xBE, 0x80, 0x80, 0x80, 0x00},
|
||||||
|
{0x00, 0x00, 0x00, 0x06, 0x05, 0x04, 0x04, 0x04, 0x44, 0x84, 0x44, 0x3C, 0x00, 0x00, 0x00, 0x00}, /*"号",18*/
|
||||||
|
{0x80, 0x80, 0x40, 0x20, 0x50, 0x48, 0x44, 0xC3, 0x44, 0x48, 0x50, 0x20, 0x40, 0x80, 0x80, 0x00},
|
||||||
|
{0x00, 0x40, 0x22, 0x1A, 0x02, 0x42, 0x82, 0x7F, 0x02, 0x02, 0x02, 0x0A, 0x12, 0x60, 0x00, 0x00}, /*"余",19*/
|
||||||
|
{0x00, 0x8C, 0x44, 0xB5, 0x26, 0xA4, 0x64, 0x0C, 0x02, 0xF2, 0x1A, 0xD6, 0x12, 0xF2, 0x02, 0x00},
|
||||||
|
{0x10, 0x08, 0xFC, 0x4A, 0x49, 0x4A, 0xFC, 0x08, 0x80, 0x4F, 0x30, 0x0F, 0x10, 0x2F, 0xC0, 0x00}, /*"额",20*/
|
||||||
|
{0x00, 0x02, 0x02, 0xC2, 0x02, 0x02, 0x02, 0xFE, 0x82, 0x82, 0x82, 0x82, 0x82, 0x02, 0x00, 0x00},
|
||||||
|
{0x40, 0x40, 0x40, 0x7F, 0x40, 0x40, 0x40, 0x7F, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00}, /*"正",21*/
|
||||||
|
{0x08, 0x08, 0x88, 0xC8, 0x38, 0x0C, 0x0B, 0x08, 0x08, 0xE8, 0x08, 0x08, 0x08, 0x08, 0x08, 0x00},
|
||||||
|
{0x02, 0x01, 0x00, 0xFF, 0x40, 0x41, 0x41, 0x41, 0x41, 0x7F, 0x41, 0x41, 0x41, 0x41, 0x40, 0x00}, /*"在",22*/
|
||||||
|
{0x80, 0x60, 0xF8, 0x07, 0x00, 0x04, 0x74, 0x54, 0x55, 0x56, 0x54, 0x54, 0x74, 0x04, 0x00, 0x00},
|
||||||
|
{0x00, 0x00, 0xFF, 0x00, 0x03, 0x01, 0x05, 0x45, 0x85, 0x7D, 0x05, 0x05, 0x05, 0x01, 0x03, 0x00}, /*"停",23*/
|
||||||
|
{0x00, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x00, 0xFF, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00},
|
||||||
|
{0x40, 0x40, 0x40, 0x7F, 0x40, 0x40, 0x40, 0x7F, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00}, /*"止",24*/
|
||||||
|
{0x04, 0x04, 0x84, 0xC4, 0xA4, 0x9C, 0x85, 0x86, 0x84, 0x84, 0xA4, 0xC4, 0x84, 0x04, 0x04, 0x00},
|
||||||
|
{0x00, 0x80, 0x80, 0x40, 0x30, 0x0F, 0x00, 0x00, 0x00, 0x7F, 0x80, 0x80, 0x81, 0xF0, 0x00, 0x00}, /*"充",25*/
|
||||||
|
{0x00, 0x00, 0xF8, 0x88, 0x88, 0x88, 0x88, 0xFF, 0x88, 0x88, 0x88, 0x88, 0xF8, 0x00, 0x00, 0x00},
|
||||||
|
{0x00, 0x00, 0x1F, 0x08, 0x08, 0x08, 0x08, 0x7F, 0x88, 0x88, 0x88, 0x88, 0x9F, 0x80, 0xF0, 0x00}, /*"电",26*/
|
||||||
|
{0x10, 0x60, 0x02, 0x0C, 0xC0, 0x00, 0xE2, 0x2C, 0x20, 0x3F, 0x20, 0x28, 0xE6, 0x00, 0x00, 0x00},
|
||||||
|
{0x04, 0x04, 0x7C, 0x03, 0x00, 0x00, 0xFF, 0x09, 0x09, 0x09, 0x49, 0x89, 0x7F, 0x00, 0x00, 0x00}, /*"消",27*/
|
||||||
|
{0x00, 0x02, 0x3A, 0xAA, 0x6A, 0x3F, 0x2A, 0x2A, 0x2A, 0xFF, 0x2A, 0xAA, 0x2E, 0xE0, 0x00, 0x00},
|
||||||
|
{0x00, 0x02, 0x81, 0x9E, 0x42, 0x42, 0x22, 0x1A, 0x22, 0x22, 0x42, 0x5E, 0x81, 0x00, 0x00, 0x00}, /*"费",28*/
|
||||||
|
{0x88, 0x68, 0x1F, 0xC8, 0x08, 0x10, 0xC8, 0x54, 0x52, 0xD1, 0x12, 0x94, 0x08, 0xD0, 0x10, 0x00},
|
||||||
|
{0x09, 0x19, 0x09, 0xFF, 0x05, 0x00, 0xFF, 0x12, 0x92, 0xFF, 0x00, 0x5F, 0x80, 0x7F, 0x00, 0x00}, /*"输",29*/
|
||||||
|
{0x00, 0x00, 0x7C, 0x40, 0x40, 0x40, 0x40, 0xFF, 0x40, 0x40, 0x40, 0x40, 0xFC, 0x00, 0x00, 0x00},
|
||||||
|
{0x00, 0x7C, 0x40, 0x40, 0x40, 0x40, 0x40, 0x7F, 0x40, 0x40, 0x40, 0x40, 0x40, 0xFC, 0x00, 0x00}, /*"出",30*/
|
||||||
|
{0x80, 0x82, 0x82, 0x82, 0xFE, 0x82, 0x82, 0x82, 0x82, 0x82, 0xFE, 0x82, 0x82, 0x82, 0x80, 0x00},
|
||||||
|
{0x00, 0x80, 0x40, 0x30, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00}, /*"开",31*/
|
||||||
|
{0x00, 0x00, 0x10, 0x11, 0x16, 0x10, 0x10, 0xF0, 0x10, 0x10, 0x14, 0x13, 0x10, 0x00, 0x00, 0x00},
|
||||||
|
{0x81, 0x81, 0x41, 0x41, 0x21, 0x11, 0x0D, 0x03, 0x0D, 0x11, 0x21, 0x41, 0x41, 0x81, 0x81, 0x00}, /*"关",32*/
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
@ -174,4 +174,32 @@ char PCD_Halt(void);
|
|||||||
|
|
||||||
void CardCompare(void); //自行定义函数
|
void CardCompare(void); //自行定义函数
|
||||||
|
|
||||||
|
// 添加状态机的状态定义和接口函数声明
|
||||||
|
typedef enum
|
||||||
|
{
|
||||||
|
RC522_STATE_IDLE,
|
||||||
|
RC522_STATE_REQUEST,
|
||||||
|
RC522_STATE_ANTICOLL,
|
||||||
|
RC522_STATE_SELECT,
|
||||||
|
RC522_STATE_AUTH,
|
||||||
|
RC522_STATE_READ,
|
||||||
|
RC522_STATE_WRITE,
|
||||||
|
RC522_STATE_HALT
|
||||||
|
} RC522_State;
|
||||||
|
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
RC522_State state;
|
||||||
|
uint8_t cardType[2];
|
||||||
|
uint8_t cardID[5];
|
||||||
|
uint8_t blockData[16];
|
||||||
|
uint8_t blockAddr;
|
||||||
|
uint8_t keyA[6];
|
||||||
|
uint8_t keyB[6];
|
||||||
|
char status;
|
||||||
|
} RC522_Handle;
|
||||||
|
|
||||||
|
void RC522_InitStateMachine(RC522_Handle *handle);
|
||||||
|
void RC522_ProcessStateMachine(RC522_Handle *handle);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -42,7 +42,7 @@
|
|||||||
/*#define HAL_CORTEX_MODULE_ENABLED */
|
/*#define HAL_CORTEX_MODULE_ENABLED */
|
||||||
/*#define HAL_CRC_MODULE_ENABLED */
|
/*#define HAL_CRC_MODULE_ENABLED */
|
||||||
/*#define HAL_DAC_MODULE_ENABLED */
|
/*#define HAL_DAC_MODULE_ENABLED */
|
||||||
/*#define HAL_DMA_MODULE_ENABLED */
|
#define HAL_DMA_MODULE_ENABLED
|
||||||
/*#define HAL_ETH_MODULE_ENABLED */
|
/*#define HAL_ETH_MODULE_ENABLED */
|
||||||
/*#define HAL_FLASH_MODULE_ENABLED */
|
/*#define HAL_FLASH_MODULE_ENABLED */
|
||||||
#define HAL_GPIO_MODULE_ENABLED
|
#define HAL_GPIO_MODULE_ENABLED
|
||||||
|
@ -52,6 +52,8 @@ void MemManage_Handler(void);
|
|||||||
void BusFault_Handler(void);
|
void BusFault_Handler(void);
|
||||||
void UsageFault_Handler(void);
|
void UsageFault_Handler(void);
|
||||||
void DebugMon_Handler(void);
|
void DebugMon_Handler(void);
|
||||||
|
void DMA1_Channel2_IRQHandler(void);
|
||||||
|
void DMA1_Channel3_IRQHandler(void);
|
||||||
void TIM1_UP_IRQHandler(void);
|
void TIM1_UP_IRQHandler(void);
|
||||||
void TIM3_IRQHandler(void);
|
void TIM3_IRQHandler(void);
|
||||||
void TIM4_IRQHandler(void);
|
void TIM4_IRQHandler(void);
|
||||||
|
@ -15,33 +15,17 @@
|
|||||||
|
|
||||||
extern unsigned char esp8266_buf[128];
|
extern unsigned char esp8266_buf[128];
|
||||||
|
|
||||||
|
|
||||||
//==========================================================
|
|
||||||
// 函数名称: OneNet_DevLink
|
|
||||||
//
|
|
||||||
// 函数功能: 与onenet创建连接
|
|
||||||
//
|
|
||||||
// 入口参数: 无
|
|
||||||
//
|
|
||||||
// 返回参数: 1-成功 0-失败
|
|
||||||
//
|
|
||||||
// 说明: 与onenet平台建立连接
|
|
||||||
//==========================================================
|
|
||||||
_Bool OneNet_DevLink(void)
|
_Bool OneNet_DevLink(void)
|
||||||
{
|
{
|
||||||
MQTT_PACKET_STRUCTURE mqttPacket = {NULL, 0, 0, 0}; //协议包
|
MQTT_PACKET_STRUCTURE mqttPacket = {NULL, 0, 0, 0};
|
||||||
|
|
||||||
unsigned char* dataPtr;
|
|
||||||
|
|
||||||
_Bool status = 1;
|
_Bool status = 1;
|
||||||
|
|
||||||
// printf("OneNet_DevLink\r\nPROID: %s\tAUIF: %s\tDEVID:%s\r\n", PRODUCT_ID, SIGNATURE, DEVICE_ID);
|
|
||||||
|
|
||||||
if (MQTT_PacketConnect(PRODUCT_ID, SIGNATURE, DEVICE_ID, 256, 1, MQTT_QOS_LEVEL0, NULL, NULL, 0, &mqttPacket) == 0)
|
if (MQTT_PacketConnect(PRODUCT_ID, SIGNATURE, DEVICE_ID, 256, 1, MQTT_QOS_LEVEL0, NULL, NULL, 0, &mqttPacket) == 0)
|
||||||
{
|
{
|
||||||
ESP8266_SendData(mqttPacket._data, mqttPacket._len); //上传平台
|
ESP8266_SendData(mqttPacket._data, mqttPacket._len);
|
||||||
|
|
||||||
dataPtr = ESP8266_GetIPD(250); //等待平台响应
|
unsigned char* dataPtr = ESP8266_GetIPD(250);
|
||||||
if (dataPtr != NULL)
|
if (dataPtr != NULL)
|
||||||
{
|
{
|
||||||
if (MQTT_UnPacketRecv(dataPtr) == MQTT_PKT_CONNACK)
|
if (MQTT_UnPacketRecv(dataPtr) == MQTT_PKT_CONNACK)
|
||||||
@ -52,26 +36,24 @@ _Bool OneNet_DevLink(void)
|
|||||||
status = 0;
|
status = 0;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
// case 1: printf("WARN: 连接失败:协议错误\r\n");
|
case 1:
|
||||||
// break;
|
// Invalid protocol version
|
||||||
// case 2: printf("WARN: 连接失败:非法的clientid\r\n");
|
case 2:
|
||||||
// break;
|
// Invalid client-id
|
||||||
// case 3: printf("WARN: 连接失败:服务器失败\r\n");
|
case 3:
|
||||||
// break;
|
// Failed to connect to broker
|
||||||
// case 4: printf("WARN: 连接失败:用户名或密码错误\r\n");
|
case 4:
|
||||||
// break;
|
// Wrong username or password
|
||||||
// case 5: printf("WARN: 连接失败:非法链接(比如token非法)\r\n");
|
case 5:
|
||||||
// break;
|
// Not authorized
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
MQTT_DeleteBuffer(&mqttPacket); //删包
|
MQTT_DeleteBuffer(&mqttPacket);
|
||||||
}
|
}
|
||||||
// else
|
|
||||||
// printf("WARN: MQTT_PacketConnect Failed\r\n");
|
|
||||||
|
|
||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
@ -79,105 +61,91 @@ _Bool OneNet_DevLink(void)
|
|||||||
|
|
||||||
unsigned char OneNet_FillBuf(char* buf)
|
unsigned char OneNet_FillBuf(char* buf)
|
||||||
{
|
{
|
||||||
char text[48];
|
cJSON* packet = cJSON_CreateObject();
|
||||||
|
|
||||||
strcpy(buf, "{\"id\":\"1743082944\",\"params\":{");
|
char packet_id[16];
|
||||||
|
sprintf(packet_id, "%d", uwTick);
|
||||||
|
cJSON_AddItemToObject(packet, "id", cJSON_CreateString(packet_id));
|
||||||
|
|
||||||
memset(text, 0, sizeof(text));
|
cJSON* params = cJSON_CreateObject();
|
||||||
sprintf(text, "\"volt\":{\"value\":%.2f},", IM_Volt * 0.0001);
|
cJSON* valueObj = cJSON_CreateObject();
|
||||||
strcat(buf, text);
|
|
||||||
|
|
||||||
memset(text, 0, sizeof(text));
|
cJSON_AddItemToObject(valueObj, "value", cJSON_CreateNumber(IM_Volt * 0.0001));
|
||||||
sprintf(text, "\"current\":{\"value\":%.2f},", IM_Curr * 0.0001);
|
cJSON_AddItemToObject(params, "volt", valueObj);
|
||||||
strcat(buf, text);
|
|
||||||
|
|
||||||
memset(text, 0, sizeof(text));
|
valueObj = cJSON_CreateObject();
|
||||||
sprintf(text, "\"watt_P\":{\"value\":%.2f},", IM_Power * 0.0001);
|
cJSON_AddItemToObject(valueObj, "value", cJSON_CreateNumber(IM_Curr * 0.0001));
|
||||||
strcat(buf, text);
|
cJSON_AddItemToObject(params, "current", valueObj);
|
||||||
|
|
||||||
memset(text, 0, sizeof(text));
|
valueObj = cJSON_CreateObject();
|
||||||
sprintf(text, "\"energy\":{\"value\":%.3f},", IM_Energy * 0.0001);
|
cJSON_AddItemToObject(valueObj, "value", cJSON_CreateNumber(IM_Power * 0.0001));
|
||||||
strcat(buf, text);
|
cJSON_AddItemToObject(params, "watt_P", valueObj);
|
||||||
|
|
||||||
memset(text, 0, sizeof(text));
|
valueObj = cJSON_CreateObject();
|
||||||
sprintf(text, "\"output\":{\"value\":%s}",
|
cJSON_AddItemToObject(valueObj, "value", cJSON_CreateNumber(IM_Energy * 0.0001));
|
||||||
HAL_GPIO_ReadPin(RELAY1_GPIO_Port, RELAY1_Pin) == GPIO_PIN_RESET ? "true" : "false");
|
cJSON_AddItemToObject(params, "energy", valueObj);
|
||||||
strcat(buf, text);
|
|
||||||
|
valueObj = cJSON_CreateObject();
|
||||||
|
cJSON_AddItemToObject(valueObj, "value", cJSON_CreateString(IC_CARD_ID));
|
||||||
|
cJSON_AddItemToObject(params, "ic_id", valueObj);
|
||||||
|
|
||||||
|
valueObj = cJSON_CreateObject();
|
||||||
|
cJSON_AddItemToObject(valueObj, "value", cJSON_CreateBool(HAL_GPIO_ReadPin(RELAY1_GPIO_Port, RELAY1_Pin) == GPIO_PIN_RESET));
|
||||||
|
cJSON_AddItemToObject(params, "output", valueObj);
|
||||||
|
|
||||||
|
cJSON_AddItemToObject(packet, "params", params);
|
||||||
|
|
||||||
|
const char* json_str = cJSON_Print(packet);
|
||||||
|
strcpy(buf, json_str);
|
||||||
|
|
||||||
|
cJSON_Delete(packet);
|
||||||
|
|
||||||
strcat(buf, "}}");
|
|
||||||
return strlen(buf);
|
return strlen(buf);
|
||||||
}
|
}
|
||||||
|
|
||||||
//==========================================================
|
|
||||||
// 函数名称: OneNet_SendData
|
|
||||||
//
|
|
||||||
// 函数功能: 上传数据到平台
|
|
||||||
//
|
|
||||||
// 入口参数: type:发送数据的格式
|
|
||||||
//
|
|
||||||
// 返回参数: 无
|
|
||||||
//
|
|
||||||
// 说明:
|
|
||||||
//==========================================================
|
|
||||||
|
|
||||||
void OneNet_SendData(void)
|
void OneNet_SendData(void)
|
||||||
{
|
{
|
||||||
MQTT_PACKET_STRUCTURE mqttPacket = {NULL, 0, 0, 0}; //协议包
|
MQTT_PACKET_STRUCTURE mqttPacket = {NULL, 0, 0, 0};
|
||||||
|
|
||||||
char buf[256];
|
char buf[256];
|
||||||
|
|
||||||
short body_len = 0, i = 0;
|
short body_len = 0, i = 0;
|
||||||
memset(buf, 0, sizeof(buf)); //清空数组内容
|
memset(buf, 0, sizeof(buf));
|
||||||
|
|
||||||
body_len = OneNet_FillBuf(buf); //获取当前需要发送的数据流的总长度
|
body_len = OneNet_FillBuf(buf);
|
||||||
|
|
||||||
if (body_len)
|
if (body_len)
|
||||||
{
|
{
|
||||||
if (MQTT_PacketSaveData(DEVICE_ID, body_len, NULL, 5, &mqttPacket) == 0) //封包
|
if (MQTT_PacketSaveData(DEVICE_ID, body_len, NULL, 5, &mqttPacket) == 0)
|
||||||
{
|
{
|
||||||
for (; i < body_len; i++)
|
for (; i < body_len; i++)
|
||||||
{
|
{
|
||||||
mqttPacket._data[mqttPacket._len++] = buf[i];
|
mqttPacket._data[mqttPacket._len++] = buf[i];
|
||||||
}
|
}
|
||||||
ESP8266_SendData(mqttPacket._data, mqttPacket._len); //上传数据到平台
|
ESP8266_SendData(mqttPacket._data, mqttPacket._len);
|
||||||
MQTT_DeleteBuffer(&mqttPacket); //删包
|
MQTT_DeleteBuffer(&mqttPacket);
|
||||||
}
|
}
|
||||||
else;
|
else;
|
||||||
// printf( "WARN:EDP_NewBuffer Failed\r\n");
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void OneNET_Subscribe(void)
|
void OneNET_Subscribe(void)
|
||||||
{
|
{
|
||||||
MQTT_PACKET_STRUCTURE mqtt_packet = {NULL, 0, 0, 0}; //协议包
|
MQTT_PACKET_STRUCTURE mqtt_packet = {NULL, 0, 0, 0};
|
||||||
|
|
||||||
char topic_buf[56];
|
char topic_buf[56];
|
||||||
const char* topic = topic_buf;
|
const char* topic = topic_buf;
|
||||||
|
|
||||||
snprintf(topic_buf, sizeof(topic_buf), "$sys/%s/%s/thing/property/set", PRODUCT_ID, DEVICE_ID);
|
snprintf(topic_buf, sizeof(topic_buf), "$sys/%s/%s/thing/property/set", PRODUCT_ID, DEVICE_ID);
|
||||||
|
|
||||||
// printf("Subscribe Topic: %s\r\n", topic_buf);
|
|
||||||
|
|
||||||
if (MQTT_PacketSubscribe(MQTT_SUBSCRIBE_ID, MQTT_QOS_LEVEL0, &topic, 1, &mqtt_packet) == 0)
|
if (MQTT_PacketSubscribe(MQTT_SUBSCRIBE_ID, MQTT_QOS_LEVEL0, &topic, 1, &mqtt_packet) == 0)
|
||||||
{
|
{
|
||||||
ESP8266_SendData(mqtt_packet._data, mqtt_packet._len); //向平台发送订阅请求
|
ESP8266_SendData(mqtt_packet._data, mqtt_packet._len);
|
||||||
|
|
||||||
MQTT_DeleteBuffer(&mqtt_packet); //删包
|
MQTT_DeleteBuffer(&mqtt_packet);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//==========================================================
|
|
||||||
// 函数名称: OneNet_RevPro
|
|
||||||
//
|
|
||||||
// 函数功能: 平台返回数据检测
|
|
||||||
//
|
|
||||||
// 入口参数: dataPtr:平台返回的数据
|
|
||||||
//
|
|
||||||
// 返回参数: 无
|
|
||||||
//
|
|
||||||
// 说明:
|
|
||||||
//==========================================================
|
|
||||||
void OneNet_RevPro(unsigned char* cmd)
|
void OneNet_RevPro(unsigned char* cmd)
|
||||||
{
|
{
|
||||||
char* req_payload = NULL;
|
char* req_payload = NULL;
|
||||||
@ -251,22 +219,18 @@ void OneNet_RevPro(unsigned char* cmd)
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case MQTT_PKT_PUBACK: //发送Publish消息,平台回复的Ack
|
case MQTT_PKT_PUBACK:
|
||||||
|
|
||||||
if (MQTT_UnPacketPublishAck(cmd) == 0)
|
if (MQTT_UnPacketPublishAck(cmd) == 0)
|
||||||
break;
|
break;
|
||||||
|
case MQTT_PKT_SUBACK:
|
||||||
case MQTT_PKT_SUBACK: //发送Subscribe消息的Ack
|
|
||||||
|
|
||||||
if (MQTT_UnPacketSubscribe(cmd) == 0)
|
if (MQTT_UnPacketSubscribe(cmd) == 0)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
result = -1;
|
result = -1;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
ESP8266_Clear(); //清空缓存
|
ESP8266_Clear();
|
||||||
|
|
||||||
if (result == -1)
|
if (result == -1)
|
||||||
return;
|
return;
|
||||||
|
@ -58,7 +58,7 @@ void ESP8266_Clear(void)
|
|||||||
//
|
//
|
||||||
// 说明: 循环调用检测是否接收完成
|
// 说明: 循环调用检测是否接收完成
|
||||||
//==========================================================
|
//==========================================================
|
||||||
_Bool ESP8266_WaitRecive(void)
|
_Bool ESP8266_WaitReceive(void)
|
||||||
{
|
{
|
||||||
if (esp8266_cnt == 0) //如果接收计数为0 则说明没有处于接收数据中,所以直接跳出,结束函数
|
if (esp8266_cnt == 0) //如果接收计数为0 则说明没有处于接收数据中,所以直接跳出,结束函数
|
||||||
return REV_WAIT;
|
return REV_WAIT;
|
||||||
@ -95,7 +95,7 @@ _Bool ESP8266_SendCmd(char* cmd, char* res)
|
|||||||
|
|
||||||
while (timeOut--)
|
while (timeOut--)
|
||||||
{
|
{
|
||||||
if (ESP8266_WaitRecive() == REV_OK) //如果收到数据
|
if (ESP8266_WaitReceive() == REV_OK) //如果收到数据
|
||||||
{
|
{
|
||||||
if (strstr((const char*)esp8266_buf, res) != NULL) //如果检索到关键词
|
if (strstr((const char*)esp8266_buf, res) != NULL) //如果检索到关键词
|
||||||
{
|
{
|
||||||
@ -153,7 +153,7 @@ unsigned char* ESP8266_GetIPD(unsigned short timeOut)
|
|||||||
|
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
if (ESP8266_WaitRecive() == REV_OK) //如果接收完成
|
if (ESP8266_WaitReceive() == REV_OK) //如果接收完成
|
||||||
{
|
{
|
||||||
ptrIPD = strstr((char*)esp8266_buf, "IPD,"); //搜索“IPD”头
|
ptrIPD = strstr((char*)esp8266_buf, "IPD,"); //搜索“IPD”头
|
||||||
if (ptrIPD == NULL) //如果没找到,可能是IPD头的延迟,还是需要等待一会,但不会超过设定的时间
|
if (ptrIPD == NULL) //如果没找到,可能是IPD头的延迟,还是需要等待一会,但不会超过设定的时间
|
||||||
@ -186,7 +186,7 @@ unsigned char* ESP8266_GetIPD_soft(unsigned short timeOut)
|
|||||||
|
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
if (ESP8266_WaitRecive() == REV_OK) //如果接收完成
|
if (ESP8266_WaitReceive() == REV_OK) //如果接收完成
|
||||||
{
|
{
|
||||||
ptrIPD = strstr((char*)esp8266_buf, "IPD,"); //搜索“IPD”头
|
ptrIPD = strstr((char*)esp8266_buf, "IPD,"); //搜索“IPD”头
|
||||||
if (ptrIPD == NULL) //如果没找到,可能是IPD头的延迟,还是需要等待一会,但不会超过设定的时间
|
if (ptrIPD == NULL) //如果没找到,可能是IPD头的延迟,还是需要等待一会,但不会超过设定的时间
|
||||||
@ -250,24 +250,3 @@ void ESP8266_SmartConfig(void)
|
|||||||
// stop smart config
|
// stop smart config
|
||||||
while (ESP8266_SendCmd("AT+CWSTOPSMART\r\n", "OK")) HAL_Delay(500);
|
while (ESP8266_SendCmd("AT+CWSTOPSMART\r\n", "OK")) HAL_Delay(500);
|
||||||
}
|
}
|
||||||
|
|
||||||
//==========================================================
|
|
||||||
// 函数名称: ESP8266_IRQHandler
|
|
||||||
//
|
|
||||||
// 函数功能: 串口2收发中断
|
|
||||||
//
|
|
||||||
// 入口参数: 无
|
|
||||||
//
|
|
||||||
// 返回参数: 无
|
|
||||||
//
|
|
||||||
|
|
||||||
// 说明:
|
|
||||||
//==========================================================
|
|
||||||
//void ESP8266_IRQHandler(void)
|
|
||||||
//{
|
|
||||||
// if(esp8266_cnt >= sizeof(esp8266_buf))
|
|
||||||
// {
|
|
||||||
// esp8266_cnt = 0; //防止串口被刷爆
|
|
||||||
// }
|
|
||||||
// esp8266_buf[esp8266_cnt++] = USART1->DR;
|
|
||||||
//}
|
|
||||||
|
@ -34,6 +34,7 @@
|
|||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include "retarget.h"
|
#include "retarget.h"
|
||||||
#include "tim.h"
|
#include "tim.h"
|
||||||
|
#include "rc522.h"
|
||||||
#include "timers.h"
|
#include "timers.h"
|
||||||
/* USER CODE END Includes */
|
/* USER CODE END Includes */
|
||||||
|
|
||||||
@ -57,16 +58,18 @@
|
|||||||
|
|
||||||
/* Private variables ---------------------------------------------------------*/
|
/* Private variables ---------------------------------------------------------*/
|
||||||
/* USER CODE BEGIN Variables */
|
/* USER CODE BEGIN Variables */
|
||||||
char ONENET_CONNECTED = 0;
|
|
||||||
|
|
||||||
// Flags
|
// Flags
|
||||||
char KEY_PRESSED[4] = {0, 0, 0, 0};
|
char KEY_PRESSED[4] = {0, 0, 0, 0};
|
||||||
|
|
||||||
|
RC522_Handle rc522Handle;
|
||||||
|
|
||||||
|
char ONENET_CONNECTED = 0;
|
||||||
/* USER CODE END Variables */
|
/* USER CODE END Variables */
|
||||||
/* Definitions for defaultTask */
|
/* Definitions for defaultTask */
|
||||||
osThreadId_t defaultTaskHandle;
|
osThreadId_t defaultTaskHandle;
|
||||||
const osThreadAttr_t defaultTask_attributes = {
|
const osThreadAttr_t defaultTask_attributes = {
|
||||||
.name = "defaultTask",
|
.name = "defaultTask",
|
||||||
.stack_size = 256 * 4,
|
.stack_size = 1024 * 4,
|
||||||
.priority = (osPriority_t) osPriorityNormal,
|
.priority = (osPriority_t) osPriorityNormal,
|
||||||
};
|
};
|
||||||
/* Definitions for keyScanTask */
|
/* Definitions for keyScanTask */
|
||||||
@ -76,13 +79,6 @@ const osThreadAttr_t keyScanTask_attributes = {
|
|||||||
.stack_size = 128 * 4,
|
.stack_size = 128 * 4,
|
||||||
.priority = (osPriority_t) osPriorityNormal,
|
.priority = (osPriority_t) osPriorityNormal,
|
||||||
};
|
};
|
||||||
/* Definitions for cmdTask */
|
|
||||||
osThreadId_t cmdTaskHandle;
|
|
||||||
const osThreadAttr_t cmdTask_attributes = {
|
|
||||||
.name = "cmdTask",
|
|
||||||
.stack_size = 256 * 4,
|
|
||||||
.priority = (osPriority_t) osPriorityNormal,
|
|
||||||
};
|
|
||||||
|
|
||||||
/* Private function prototypes -----------------------------------------------*/
|
/* Private function prototypes -----------------------------------------------*/
|
||||||
/* USER CODE BEGIN FunctionPrototypes */
|
/* USER CODE BEGIN FunctionPrototypes */
|
||||||
@ -92,7 +88,6 @@ void Display_IM1281B(void);
|
|||||||
|
|
||||||
void StartDefaultTask(void *argument);
|
void StartDefaultTask(void *argument);
|
||||||
void startKeyScanTask(void *argument);
|
void startKeyScanTask(void *argument);
|
||||||
void startCmdTask(void *argument);
|
|
||||||
|
|
||||||
void MX_FREERTOS_Init(void); /* (MISRA C 2004 rule 8.1) */
|
void MX_FREERTOS_Init(void); /* (MISRA C 2004 rule 8.1) */
|
||||||
|
|
||||||
@ -103,20 +98,47 @@ void MX_FREERTOS_Init(void); /* (MISRA C 2004 rule 8.1) */
|
|||||||
*/
|
*/
|
||||||
void MX_FREERTOS_Init(void) {
|
void MX_FREERTOS_Init(void) {
|
||||||
/* USER CODE BEGIN Init */
|
/* USER CODE BEGIN Init */
|
||||||
|
// Peripheral initialization
|
||||||
|
MFRC_Init();
|
||||||
|
PCD_Init();
|
||||||
|
RC522_InitStateMachine(&rc522Handle);
|
||||||
|
|
||||||
OLED_ShowString(0,0,"initializing...",12);
|
OLED_ShowString(0,0,"initializing...",12);
|
||||||
|
|
||||||
int const isSmartConfigMode = !HAL_GPIO_ReadPin(KEY1_GPIO_Port, KEY1_Pin);
|
int const isSmartConfigMode = !HAL_GPIO_ReadPin(KEY1_GPIO_Port, KEY1_Pin);
|
||||||
|
|
||||||
if (isSmartConfigMode) OLED_ShowString(0,0,"smartConfigMode",12);
|
if (isSmartConfigMode)
|
||||||
|
{
|
||||||
|
// 等待配网
|
||||||
|
OLED_ShowChinese(0, 0, 2);
|
||||||
|
OLED_ShowChinese(16, 0, 3);
|
||||||
|
OLED_ShowChinese(32, 0, 4);
|
||||||
|
OLED_ShowChinese(48, 0, 5);
|
||||||
|
OLED_ShowString(48 + 16, 0, " ", 12);
|
||||||
|
OLED_ShowString(48 + 16, 1, "... ", 12);
|
||||||
|
}
|
||||||
ESP8266_Init(isSmartConfigMode);
|
ESP8266_Init(isSmartConfigMode);
|
||||||
|
|
||||||
OLED_ShowString(0, 0, "connectOneNet", 12);
|
// 连接服务器
|
||||||
|
OLED_ShowChinese(0, 0, 6);
|
||||||
|
OLED_ShowChinese(16, 0, 7);
|
||||||
|
OLED_ShowChinese(32, 0, 8);
|
||||||
|
OLED_ShowChinese(48, 0, 9);
|
||||||
|
OLED_ShowChinese(64, 0, 10);
|
||||||
|
OLED_ShowString(64 + 16, 1, "... ", 12);
|
||||||
|
|
||||||
while (OneNet_DevLink()) {}
|
while (OneNet_DevLink()) {}
|
||||||
OneNET_Subscribe();
|
OneNET_Subscribe();
|
||||||
ONENET_CONNECTED = 1;
|
ONENET_CONNECTED = 1;
|
||||||
|
|
||||||
OLED_ShowString(0,0,"OneNet online ",12);
|
// 设备上线
|
||||||
|
OLED_ShowChinese(0, 0, 11);
|
||||||
|
OLED_ShowChinese(16, 0, 12);
|
||||||
|
OLED_ShowChinese(32, 0, 15);
|
||||||
|
OLED_ShowChinese(48, 0, 16);
|
||||||
|
OLED_ShowString(48 + 16, 0, " ", 16);
|
||||||
|
OLED_ShowString(48 + 16, 1, " ", 16);
|
||||||
|
|
||||||
HAL_GPIO_WritePin(LED0_GPIO_Port, LED0_Pin, GPIO_PIN_RESET);
|
HAL_GPIO_WritePin(LED0_GPIO_Port, LED0_Pin, GPIO_PIN_RESET);
|
||||||
|
|
||||||
HAL_TIM_Base_Start_IT(&htim1);
|
HAL_TIM_Base_Start_IT(&htim1);
|
||||||
@ -145,9 +167,6 @@ void MX_FREERTOS_Init(void) {
|
|||||||
/* creation of keyScanTask */
|
/* creation of keyScanTask */
|
||||||
keyScanTaskHandle = osThreadNew(startKeyScanTask, NULL, &keyScanTask_attributes);
|
keyScanTaskHandle = osThreadNew(startKeyScanTask, NULL, &keyScanTask_attributes);
|
||||||
|
|
||||||
/* creation of cmdTask */
|
|
||||||
cmdTaskHandle = osThreadNew(startCmdTask, NULL, &cmdTask_attributes);
|
|
||||||
|
|
||||||
/* USER CODE BEGIN RTOS_THREADS */
|
/* USER CODE BEGIN RTOS_THREADS */
|
||||||
/* add threads, ... */
|
/* add threads, ... */
|
||||||
/* USER CODE END RTOS_THREADS */
|
/* USER CODE END RTOS_THREADS */
|
||||||
@ -168,24 +187,30 @@ void MX_FREERTOS_Init(void) {
|
|||||||
void StartDefaultTask(void *argument)
|
void StartDefaultTask(void *argument)
|
||||||
{
|
{
|
||||||
/* USER CODE BEGIN StartDefaultTask */
|
/* USER CODE BEGIN StartDefaultTask */
|
||||||
|
OLED_Clear();
|
||||||
|
|
||||||
|
// 在线
|
||||||
|
OLED_ShowChinese(96, 0, 13);
|
||||||
|
OLED_ShowChinese(112, 0, 16);
|
||||||
|
// 输出
|
||||||
|
OLED_ShowChinese(0, 0, 29);
|
||||||
|
OLED_ShowChinese(16, 0, 30);
|
||||||
/* Infinite loop */
|
/* Infinite loop */
|
||||||
for(;;)
|
for(;;)
|
||||||
{
|
{
|
||||||
|
/* Keys handler */
|
||||||
// osDelay(500);
|
if (KEY_PRESSED[0])
|
||||||
//
|
|
||||||
// OneNet_SendData();
|
|
||||||
// osDelay(500);
|
|
||||||
// ESP8266_Clear();
|
|
||||||
|
|
||||||
if (KEY_PRESSED[0] || KEY_PRESSED[1])
|
|
||||||
{
|
{
|
||||||
KEY_PRESSED[0] = 0;
|
KEY_PRESSED[0] = 0;
|
||||||
KEY_PRESSED[1] = 0;
|
|
||||||
HAL_GPIO_TogglePin(RELAY1_GPIO_Port, RELAY1_Pin);
|
HAL_GPIO_TogglePin(RELAY1_GPIO_Port, RELAY1_Pin);
|
||||||
}
|
}
|
||||||
|
// Output state
|
||||||
|
if (HAL_GPIO_ReadPin(RELAY1_GPIO_Port, RELAY1_Pin) == GPIO_PIN_RESET)
|
||||||
|
OLED_ShowString(16 + 16, 0, ":ON ", 16);
|
||||||
|
else
|
||||||
|
OLED_ShowString(16 + 16, 0, ":OFF", 16);
|
||||||
|
|
||||||
|
/* Flags handler */
|
||||||
if (flag_1s)
|
if (flag_1s)
|
||||||
{
|
{
|
||||||
flag_1s = 0;
|
flag_1s = 0;
|
||||||
@ -211,7 +236,22 @@ void StartDefaultTask(void *argument)
|
|||||||
Display_IM1281B();
|
Display_IM1281B();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* State machines */
|
||||||
|
if (rc522Handle.state == RC522_STATE_IDLE)
|
||||||
|
{
|
||||||
|
rc522Handle.state = RC522_STATE_REQUEST;
|
||||||
|
snprintf(IC_CARD_ID, sizeof(IC_CARD_ID), "%02X-%02X-%02X-%02X", rc522Handle.cardID[0], rc522Handle.cardID[1], rc522Handle.cardID[2], rc522Handle.cardID[3]);
|
||||||
|
}
|
||||||
|
|
||||||
IM_Read();
|
IM_Read();
|
||||||
|
RC522_ProcessStateMachine(&rc522Handle);
|
||||||
|
|
||||||
|
/* Remote command handler */
|
||||||
|
uint8_t* dataPtr = ESP8266_GetIPD_soft(0);
|
||||||
|
if (dataPtr != NULL)
|
||||||
|
{
|
||||||
|
OneNet_RevPro(dataPtr);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
/* USER CODE END StartDefaultTask */
|
/* USER CODE END StartDefaultTask */
|
||||||
}
|
}
|
||||||
@ -234,31 +274,6 @@ void startKeyScanTask(void *argument)
|
|||||||
/* USER CODE END startKeyScanTask */
|
/* USER CODE END startKeyScanTask */
|
||||||
}
|
}
|
||||||
|
|
||||||
/* USER CODE BEGIN Header_startCmdTask */
|
|
||||||
/**
|
|
||||||
* @brief Function implementing the cmdTask thread.
|
|
||||||
* @param argument: Not used
|
|
||||||
* @retval None
|
|
||||||
*/
|
|
||||||
/* USER CODE END Header_startCmdTask */
|
|
||||||
void startCmdTask(void *argument)
|
|
||||||
{
|
|
||||||
/* USER CODE BEGIN startCmdTask */
|
|
||||||
/* Infinite loop */
|
|
||||||
for(;;)
|
|
||||||
{
|
|
||||||
// if (ONENET_CONNECTED)
|
|
||||||
// {
|
|
||||||
// uint8_t* dataPtr = ESP8266_GetIPD_soft(0);
|
|
||||||
// if (dataPtr != NULL)
|
|
||||||
// {
|
|
||||||
// OneNet_RevPro(dataPtr);
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
}
|
|
||||||
/* USER CODE END startCmdTask */
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Private application code --------------------------------------------------*/
|
/* Private application code --------------------------------------------------*/
|
||||||
/* USER CODE BEGIN Application */
|
/* USER CODE BEGIN Application */
|
||||||
void KeyScan(void)
|
void KeyScan(void)
|
||||||
@ -303,24 +318,23 @@ void KeyScan(void)
|
|||||||
|
|
||||||
void Display_IM1281B(void)
|
void Display_IM1281B(void)
|
||||||
{
|
{
|
||||||
OLED_ShowString(0, 0, "Volt:", 12);
|
OLED_ShowString(0, 5, "V:", 12);
|
||||||
OLED_ShowString(0, 2, "Curr:", 12);
|
OLED_ShowString(64, 5, "A:", 12);
|
||||||
OLED_ShowString(0, 4, "Pwr: ", 12);
|
OLED_ShowString(0, 7, "P:", 12);
|
||||||
OLED_ShowString(0, 6, "Eng: ", 12);
|
|
||||||
|
|
||||||
char buffer[16];
|
char buffer[16];
|
||||||
|
|
||||||
snprintf(buffer, sizeof(buffer), "%.2fV", IM_Volt * 0.0001);
|
snprintf(buffer, sizeof(buffer), "%.2fV ", IM_Volt * 0.0001);
|
||||||
OLED_ShowString(40, 0, buffer, 12);
|
OLED_ShowString(16, 5, buffer, 12);
|
||||||
|
|
||||||
snprintf(buffer, sizeof(buffer), "%.2fA", IM_Curr * 0.0001);
|
snprintf(buffer, sizeof(buffer), "%.2fA ", IM_Curr * 0.0001);
|
||||||
OLED_ShowString(40, 2, buffer, 12);
|
OLED_ShowString(80, 5, buffer, 12);
|
||||||
|
|
||||||
snprintf(buffer, sizeof(buffer), "%.2fW", IM_Power * 0.0001);
|
snprintf(buffer, sizeof(buffer), "%.2fW ", IM_Power * 0.0001);
|
||||||
OLED_ShowString(40, 4, buffer, 12);
|
OLED_ShowString(16, 7, buffer, 12);
|
||||||
|
|
||||||
snprintf(buffer, sizeof(buffer), "%.3fKWh", IM_Energy * 0.0001);
|
snprintf(buffer, sizeof(buffer), "%.3fkWh", IM_Energy * 0.0001);
|
||||||
OLED_ShowString(40, 6, buffer, 12);
|
OLED_ShowString(64, 7, buffer, 12);
|
||||||
}
|
}
|
||||||
/* USER CODE END Application */
|
/* USER CODE END Application */
|
||||||
|
|
||||||
|
@ -19,6 +19,7 @@
|
|||||||
/* Includes ------------------------------------------------------------------*/
|
/* Includes ------------------------------------------------------------------*/
|
||||||
#include "main.h"
|
#include "main.h"
|
||||||
#include "cmsis_os.h"
|
#include "cmsis_os.h"
|
||||||
|
#include "dma.h"
|
||||||
#include "i2c.h"
|
#include "i2c.h"
|
||||||
#include "spi.h"
|
#include "spi.h"
|
||||||
#include "tim.h"
|
#include "tim.h"
|
||||||
@ -32,7 +33,6 @@
|
|||||||
|
|
||||||
#include "retarget.h"
|
#include "retarget.h"
|
||||||
#include "oled.h"
|
#include "oled.h"
|
||||||
#include "rc522.h"
|
|
||||||
#include "esp8266.h"
|
#include "esp8266.h"
|
||||||
#include "OneNet.h"
|
#include "OneNet.h"
|
||||||
/* USER CODE END Includes */
|
/* USER CODE END Includes */
|
||||||
@ -72,6 +72,8 @@ uint8_t rf_card_type[3];
|
|||||||
uint8_t rf_card_id[5];
|
uint8_t rf_card_id[5];
|
||||||
uint8_t rf_data[16];
|
uint8_t rf_data[16];
|
||||||
|
|
||||||
|
char IC_CARD_ID[16];
|
||||||
|
|
||||||
uint8_t ADDR = 0x01 * 4 + 0x03;
|
uint8_t ADDR = 0x01 * 4 + 0x03;
|
||||||
uint8_t KEY_A[6]= {0xff,0xff,0xff,0xff,0xff,0xff};
|
uint8_t KEY_A[6]= {0xff,0xff,0xff,0xff,0xff,0xff};
|
||||||
uint8_t KEY_B[6]= {0xff,0xff,0xff,0xff,0xff,0xff};
|
uint8_t KEY_B[6]= {0xff,0xff,0xff,0xff,0xff,0xff};
|
||||||
@ -120,6 +122,7 @@ int main(void)
|
|||||||
|
|
||||||
/* Initialize all configured peripherals */
|
/* Initialize all configured peripherals */
|
||||||
MX_GPIO_Init();
|
MX_GPIO_Init();
|
||||||
|
MX_DMA_Init();
|
||||||
MX_I2C1_Init();
|
MX_I2C1_Init();
|
||||||
MX_SPI1_Init();
|
MX_SPI1_Init();
|
||||||
MX_USART1_UART_Init();
|
MX_USART1_UART_Init();
|
||||||
@ -139,8 +142,8 @@ int main(void)
|
|||||||
// HAL_TIM_Base_Start_IT(&htim3);
|
// HAL_TIM_Base_Start_IT(&htim3);
|
||||||
|
|
||||||
// Init RC522
|
// Init RC522
|
||||||
MFRC_Init();
|
// MFRC_Init();
|
||||||
PCD_Reset();
|
// PCD_Reset();
|
||||||
|
|
||||||
HAL_UARTEx_ReceiveToIdle_IT(&huart1, (uint8_t*)UART1_RxData, 40);
|
HAL_UARTEx_ReceiveToIdle_IT(&huart1, (uint8_t*)UART1_RxData, 40);
|
||||||
HAL_UART_Receive_IT(&huart2, &UART2_RxData, 1);
|
HAL_UART_Receive_IT(&huart2, &UART2_RxData, 1);
|
||||||
@ -162,6 +165,17 @@ int main(void)
|
|||||||
/* USER CODE BEGIN WHILE */
|
/* USER CODE BEGIN WHILE */
|
||||||
while (1)
|
while (1)
|
||||||
{
|
{
|
||||||
|
// RC522_ProcessStateMachine(&rc522Handle);
|
||||||
|
//
|
||||||
|
// if (rc522Handle.state == RC522_STATE_IDLE && rc522Handle.status == PCD_OK)
|
||||||
|
// {
|
||||||
|
// // Example: Display card information when idle and successful
|
||||||
|
// OLED_ShowString(0, 0, "Card ID:", 12);
|
||||||
|
// char buffer[16];
|
||||||
|
// snprintf(buffer, sizeof(buffer), "%02X-%02X-%02X-%02X", rc522Handle.cardID[0], rc522Handle.cardID[1], rc522Handle.cardID[2], rc522Handle.cardID[3]);
|
||||||
|
// OLED_ShowString(36, 0, buffer, 12);
|
||||||
|
// }
|
||||||
|
|
||||||
// if (onenet_state())
|
// if (onenet_state())
|
||||||
// {
|
// {
|
||||||
// OLED_ShowString(0,0,"OneNet online ",12);
|
// OLED_ShowString(0,0,"OneNet online ",12);
|
||||||
|
755
Core/Src/rc522.c
755
Core/Src/rc522.c
File diff suppressed because it is too large
Load Diff
@ -25,6 +25,8 @@
|
|||||||
/* USER CODE END 0 */
|
/* USER CODE END 0 */
|
||||||
|
|
||||||
SPI_HandleTypeDef hspi1;
|
SPI_HandleTypeDef hspi1;
|
||||||
|
DMA_HandleTypeDef hdma_spi1_rx;
|
||||||
|
DMA_HandleTypeDef hdma_spi1_tx;
|
||||||
|
|
||||||
/* SPI1 init function */
|
/* SPI1 init function */
|
||||||
void MX_SPI1_Init(void)
|
void MX_SPI1_Init(void)
|
||||||
@ -87,6 +89,39 @@ void HAL_SPI_MspInit(SPI_HandleTypeDef* spiHandle)
|
|||||||
GPIO_InitStruct.Pull = GPIO_NOPULL;
|
GPIO_InitStruct.Pull = GPIO_NOPULL;
|
||||||
HAL_GPIO_Init(RC522_MISO_GPIO_Port, &GPIO_InitStruct);
|
HAL_GPIO_Init(RC522_MISO_GPIO_Port, &GPIO_InitStruct);
|
||||||
|
|
||||||
|
/* SPI1 DMA Init */
|
||||||
|
/* SPI1_RX Init */
|
||||||
|
hdma_spi1_rx.Instance = DMA1_Channel2;
|
||||||
|
hdma_spi1_rx.Init.Direction = DMA_PERIPH_TO_MEMORY;
|
||||||
|
hdma_spi1_rx.Init.PeriphInc = DMA_PINC_DISABLE;
|
||||||
|
hdma_spi1_rx.Init.MemInc = DMA_MINC_ENABLE;
|
||||||
|
hdma_spi1_rx.Init.PeriphDataAlignment = DMA_PDATAALIGN_BYTE;
|
||||||
|
hdma_spi1_rx.Init.MemDataAlignment = DMA_MDATAALIGN_BYTE;
|
||||||
|
hdma_spi1_rx.Init.Mode = DMA_NORMAL;
|
||||||
|
hdma_spi1_rx.Init.Priority = DMA_PRIORITY_LOW;
|
||||||
|
if (HAL_DMA_Init(&hdma_spi1_rx) != HAL_OK)
|
||||||
|
{
|
||||||
|
Error_Handler();
|
||||||
|
}
|
||||||
|
|
||||||
|
__HAL_LINKDMA(spiHandle,hdmarx,hdma_spi1_rx);
|
||||||
|
|
||||||
|
/* SPI1_TX Init */
|
||||||
|
hdma_spi1_tx.Instance = DMA1_Channel3;
|
||||||
|
hdma_spi1_tx.Init.Direction = DMA_MEMORY_TO_PERIPH;
|
||||||
|
hdma_spi1_tx.Init.PeriphInc = DMA_PINC_DISABLE;
|
||||||
|
hdma_spi1_tx.Init.MemInc = DMA_MINC_ENABLE;
|
||||||
|
hdma_spi1_tx.Init.PeriphDataAlignment = DMA_PDATAALIGN_BYTE;
|
||||||
|
hdma_spi1_tx.Init.MemDataAlignment = DMA_MDATAALIGN_BYTE;
|
||||||
|
hdma_spi1_tx.Init.Mode = DMA_NORMAL;
|
||||||
|
hdma_spi1_tx.Init.Priority = DMA_PRIORITY_LOW;
|
||||||
|
if (HAL_DMA_Init(&hdma_spi1_tx) != HAL_OK)
|
||||||
|
{
|
||||||
|
Error_Handler();
|
||||||
|
}
|
||||||
|
|
||||||
|
__HAL_LINKDMA(spiHandle,hdmatx,hdma_spi1_tx);
|
||||||
|
|
||||||
/* USER CODE BEGIN SPI1_MspInit 1 */
|
/* USER CODE BEGIN SPI1_MspInit 1 */
|
||||||
|
|
||||||
/* USER CODE END SPI1_MspInit 1 */
|
/* USER CODE END SPI1_MspInit 1 */
|
||||||
@ -111,6 +146,9 @@ void HAL_SPI_MspDeInit(SPI_HandleTypeDef* spiHandle)
|
|||||||
*/
|
*/
|
||||||
HAL_GPIO_DeInit(GPIOA, RC522_SCK_Pin|RC522_MISO_Pin|RC522_MOSI_Pin);
|
HAL_GPIO_DeInit(GPIOA, RC522_SCK_Pin|RC522_MISO_Pin|RC522_MOSI_Pin);
|
||||||
|
|
||||||
|
/* SPI1 DMA DeInit */
|
||||||
|
HAL_DMA_DeInit(spiHandle->hdmarx);
|
||||||
|
HAL_DMA_DeInit(spiHandle->hdmatx);
|
||||||
/* USER CODE BEGIN SPI1_MspDeInit 1 */
|
/* USER CODE BEGIN SPI1_MspDeInit 1 */
|
||||||
|
|
||||||
/* USER CODE END SPI1_MspDeInit 1 */
|
/* USER CODE END SPI1_MspDeInit 1 */
|
||||||
|
@ -55,6 +55,8 @@
|
|||||||
/* USER CODE END 0 */
|
/* USER CODE END 0 */
|
||||||
|
|
||||||
/* External variables --------------------------------------------------------*/
|
/* External variables --------------------------------------------------------*/
|
||||||
|
extern DMA_HandleTypeDef hdma_spi1_rx;
|
||||||
|
extern DMA_HandleTypeDef hdma_spi1_tx;
|
||||||
extern TIM_HandleTypeDef htim1;
|
extern TIM_HandleTypeDef htim1;
|
||||||
extern TIM_HandleTypeDef htim3;
|
extern TIM_HandleTypeDef htim3;
|
||||||
extern UART_HandleTypeDef huart1;
|
extern UART_HandleTypeDef huart1;
|
||||||
@ -163,6 +165,34 @@ void DebugMon_Handler(void)
|
|||||||
/* please refer to the startup file (startup_stm32f1xx.s). */
|
/* please refer to the startup file (startup_stm32f1xx.s). */
|
||||||
/******************************************************************************/
|
/******************************************************************************/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief This function handles DMA1 channel2 global interrupt.
|
||||||
|
*/
|
||||||
|
void DMA1_Channel2_IRQHandler(void)
|
||||||
|
{
|
||||||
|
/* USER CODE BEGIN DMA1_Channel2_IRQn 0 */
|
||||||
|
|
||||||
|
/* USER CODE END DMA1_Channel2_IRQn 0 */
|
||||||
|
HAL_DMA_IRQHandler(&hdma_spi1_rx);
|
||||||
|
/* USER CODE BEGIN DMA1_Channel2_IRQn 1 */
|
||||||
|
|
||||||
|
/* USER CODE END DMA1_Channel2_IRQn 1 */
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief This function handles DMA1 channel3 global interrupt.
|
||||||
|
*/
|
||||||
|
void DMA1_Channel3_IRQHandler(void)
|
||||||
|
{
|
||||||
|
/* USER CODE BEGIN DMA1_Channel3_IRQn 0 */
|
||||||
|
|
||||||
|
/* USER CODE END DMA1_Channel3_IRQn 0 */
|
||||||
|
HAL_DMA_IRQHandler(&hdma_spi1_tx);
|
||||||
|
/* USER CODE BEGIN DMA1_Channel3_IRQn 1 */
|
||||||
|
|
||||||
|
/* USER CODE END DMA1_Channel3_IRQn 1 */
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief This function handles TIM1 update interrupt.
|
* @brief This function handles TIM1 update interrupt.
|
||||||
*/
|
*/
|
||||||
|
@ -2,9 +2,30 @@
|
|||||||
CAD.formats=[]
|
CAD.formats=[]
|
||||||
CAD.pinconfig=Dual
|
CAD.pinconfig=Dual
|
||||||
CAD.provider=
|
CAD.provider=
|
||||||
|
Dma.Request0=SPI1_RX
|
||||||
|
Dma.Request1=SPI1_TX
|
||||||
|
Dma.RequestsNb=2
|
||||||
|
Dma.SPI1_RX.0.Direction=DMA_PERIPH_TO_MEMORY
|
||||||
|
Dma.SPI1_RX.0.Instance=DMA1_Channel2
|
||||||
|
Dma.SPI1_RX.0.MemDataAlignment=DMA_MDATAALIGN_BYTE
|
||||||
|
Dma.SPI1_RX.0.MemInc=DMA_MINC_ENABLE
|
||||||
|
Dma.SPI1_RX.0.Mode=DMA_NORMAL
|
||||||
|
Dma.SPI1_RX.0.PeriphDataAlignment=DMA_PDATAALIGN_BYTE
|
||||||
|
Dma.SPI1_RX.0.PeriphInc=DMA_PINC_DISABLE
|
||||||
|
Dma.SPI1_RX.0.Priority=DMA_PRIORITY_LOW
|
||||||
|
Dma.SPI1_RX.0.RequestParameters=Instance,Direction,PeriphInc,MemInc,PeriphDataAlignment,MemDataAlignment,Mode,Priority
|
||||||
|
Dma.SPI1_TX.1.Direction=DMA_MEMORY_TO_PERIPH
|
||||||
|
Dma.SPI1_TX.1.Instance=DMA1_Channel3
|
||||||
|
Dma.SPI1_TX.1.MemDataAlignment=DMA_MDATAALIGN_BYTE
|
||||||
|
Dma.SPI1_TX.1.MemInc=DMA_MINC_ENABLE
|
||||||
|
Dma.SPI1_TX.1.Mode=DMA_NORMAL
|
||||||
|
Dma.SPI1_TX.1.PeriphDataAlignment=DMA_PDATAALIGN_BYTE
|
||||||
|
Dma.SPI1_TX.1.PeriphInc=DMA_PINC_DISABLE
|
||||||
|
Dma.SPI1_TX.1.Priority=DMA_PRIORITY_LOW
|
||||||
|
Dma.SPI1_TX.1.RequestParameters=Instance,Direction,PeriphInc,MemInc,PeriphDataAlignment,MemDataAlignment,Mode,Priority
|
||||||
FREERTOS.FootprintOK=true
|
FREERTOS.FootprintOK=true
|
||||||
FREERTOS.IPParameters=Tasks01,configUSE_NEWLIB_REENTRANT,FootprintOK,configTOTAL_HEAP_SIZE
|
FREERTOS.IPParameters=Tasks01,configUSE_NEWLIB_REENTRANT,FootprintOK,configTOTAL_HEAP_SIZE
|
||||||
FREERTOS.Tasks01=defaultTask,24,256,StartDefaultTask,Default,NULL,Dynamic,NULL,NULL;keyScanTask,24,128,startKeyScanTask,Default,NULL,Dynamic,NULL,NULL;cmdTask,24,256,startCmdTask,Default,NULL,Dynamic,NULL,NULL
|
FREERTOS.Tasks01=defaultTask,24,1024,StartDefaultTask,Default,NULL,Dynamic,NULL,NULL;keyScanTask,24,128,startKeyScanTask,Default,NULL,Dynamic,NULL,NULL
|
||||||
FREERTOS.configTOTAL_HEAP_SIZE=8192
|
FREERTOS.configTOTAL_HEAP_SIZE=8192
|
||||||
FREERTOS.configUSE_NEWLIB_REENTRANT=1
|
FREERTOS.configUSE_NEWLIB_REENTRANT=1
|
||||||
File.Version=6
|
File.Version=6
|
||||||
@ -12,17 +33,18 @@ GPIO.groupedBy=Group By Peripherals
|
|||||||
KeepUserPlacement=false
|
KeepUserPlacement=false
|
||||||
Mcu.CPN=STM32F103C8T6
|
Mcu.CPN=STM32F103C8T6
|
||||||
Mcu.Family=STM32F1
|
Mcu.Family=STM32F1
|
||||||
Mcu.IP0=FREERTOS
|
Mcu.IP0=DMA
|
||||||
Mcu.IP1=I2C1
|
Mcu.IP1=FREERTOS
|
||||||
Mcu.IP2=NVIC
|
Mcu.IP10=USART2
|
||||||
Mcu.IP3=RCC
|
Mcu.IP2=I2C1
|
||||||
Mcu.IP4=SPI1
|
Mcu.IP3=NVIC
|
||||||
Mcu.IP5=SYS
|
Mcu.IP4=RCC
|
||||||
Mcu.IP6=TIM1
|
Mcu.IP5=SPI1
|
||||||
Mcu.IP7=TIM3
|
Mcu.IP6=SYS
|
||||||
Mcu.IP8=USART1
|
Mcu.IP7=TIM1
|
||||||
Mcu.IP9=USART2
|
Mcu.IP8=TIM3
|
||||||
Mcu.IPNb=10
|
Mcu.IP9=USART1
|
||||||
|
Mcu.IPNb=11
|
||||||
Mcu.Name=STM32F103C(8-B)Tx
|
Mcu.Name=STM32F103C(8-B)Tx
|
||||||
Mcu.Package=LQFP48
|
Mcu.Package=LQFP48
|
||||||
Mcu.Pin0=PC13-TAMPER-RTC
|
Mcu.Pin0=PC13-TAMPER-RTC
|
||||||
@ -57,6 +79,8 @@ Mcu.UserName=STM32F103C8Tx
|
|||||||
MxCube.Version=6.14.0
|
MxCube.Version=6.14.0
|
||||||
MxDb.Version=DB.6.0.140
|
MxDb.Version=DB.6.0.140
|
||||||
NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false\:false
|
NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false\:false
|
||||||
|
NVIC.DMA1_Channel2_IRQn=true\:5\:0\:false\:false\:true\:true\:false\:true\:true
|
||||||
|
NVIC.DMA1_Channel3_IRQn=true\:5\:0\:false\:false\:true\:true\:false\:true\:true
|
||||||
NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false\:false
|
NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false\:false
|
||||||
NVIC.ForceEnableDMAVector=true
|
NVIC.ForceEnableDMAVector=true
|
||||||
NVIC.HardFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false\:false
|
NVIC.HardFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false\:false
|
||||||
@ -186,7 +210,7 @@ ProjectManager.ToolChainLocation=
|
|||||||
ProjectManager.UAScriptAfterPath=
|
ProjectManager.UAScriptAfterPath=
|
||||||
ProjectManager.UAScriptBeforePath=
|
ProjectManager.UAScriptBeforePath=
|
||||||
ProjectManager.UnderRoot=true
|
ProjectManager.UnderRoot=true
|
||||||
ProjectManager.functionlistsort=1-SystemClock_Config-RCC-false-HAL-false,2-MX_GPIO_Init-GPIO-false-HAL-true,3-MX_I2C1_Init-I2C1-false-HAL-true,4-MX_SPI1_Init-SPI1-false-HAL-true,5-MX_USART1_UART_Init-USART1-false-HAL-true,6-MX_USART2_UART_Init-USART2-false-HAL-true,7-MX_TIM1_Init-TIM1-false-HAL-true,8-MX_TIM3_Init-TIM3-false-HAL-true
|
ProjectManager.functionlistsort=1-SystemClock_Config-RCC-false-HAL-false,2-MX_GPIO_Init-GPIO-false-HAL-true,3-MX_DMA_Init-DMA-false-HAL-true,4-MX_I2C1_Init-I2C1-false-HAL-true,5-MX_SPI1_Init-SPI1-false-HAL-true,6-MX_USART1_UART_Init-USART1-false-HAL-true,7-MX_USART2_UART_Init-USART2-false-HAL-true,8-MX_TIM1_Init-TIM1-false-HAL-true,9-MX_TIM3_Init-TIM3-false-HAL-true
|
||||||
RCC.ADCFreqValue=36000000
|
RCC.ADCFreqValue=36000000
|
||||||
RCC.AHBFreq_Value=72000000
|
RCC.AHBFreq_Value=72000000
|
||||||
RCC.APB1CLKDivider=RCC_HCLK_DIV2
|
RCC.APB1CLKDivider=RCC_HCLK_DIV2
|
||||||
|
Loading…
Reference in New Issue
Block a user