Changeset 364 for asp3_tinet_ecnl_rx/trunk/app5_temp_sensor
- Timestamp:
- Feb 1, 2019, 9:57:09 PM (5 years ago)
- Location:
- asp3_tinet_ecnl_rx/trunk/app5_temp_sensor
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
asp3_tinet_ecnl_rx/trunk/app5_temp_sensor/.cproject
r345 r364 22 22 <storageModule moduleId="com.renesas.cdt.managedbuild.core.toolchainInfo"> 23 23 <option id="toolchain.id" value="RENESAS_GCC_RX"/> 24 <option id="toolchain.version" value="4.8.4.201 703"/>24 <option id="toolchain.version" value="4.8.4.201803"/> 25 25 </storageModule> 26 26 <storageModule moduleId="cdtBuildSystem" version="4.0.0"> … … 37 37 <option id="com.renesas.cdt.managedbuild.gcc.core.option.debug.warnStackSize.1780467547" name="Warn if stack size exceeds the limit (-Wstack-usage) (H')" superClass="com.renesas.cdt.managedbuild.gcc.core.option.debug.warnStackSize" useByScannerDiscovery="false" value="100" valueType="string"/> 38 38 <targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="com.renesas.cdt.managedbuild.gcc.core.targetPlatform.1563250286" isAbstract="false" osList="all" superClass="com.renesas.cdt.managedbuild.gcc.core.targetPlatform"/> 39 <builder buildPath="${workspace_loc:/app5_temp_sensor}/Debug" id="com.renesas.cdt.managedbuild.gcc.core.builder.1575069720" keepEnvironmentInBuildfile="false" managedBuildOn="false" name="GCC for Renesas Builder" parallelBuildOn=" false" superClass="com.renesas.cdt.managedbuild.gcc.core.builder"/>39 <builder buildPath="${workspace_loc:/app5_temp_sensor}/Debug" id="com.renesas.cdt.managedbuild.gcc.core.builder.1575069720" keepEnvironmentInBuildfile="false" managedBuildOn="false" name="GCC for Renesas Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="com.renesas.cdt.managedbuild.gcc.core.builder"/> 40 40 <tool id="com.renesas.cdt.managedbuild.gcc.rx.tool.libgen.208699470" name="Library Generator" superClass="com.renesas.cdt.managedbuild.gcc.rx.tool.libgen"> 41 41 <option id="com.renesas.cdt.managedbuild.gcc.rx.option.selectlibrary.1089825677" name="Select Library" superClass="com.renesas.cdt.managedbuild.gcc.rx.option.selectlibrary" useByScannerDiscovery="true" value="com.renesas.cdt.managedbuild.gcc.core.option.librarygenerator.settings.selectLibrary.newLib" valueType="enumerated"/> … … 91 91 <storageModule moduleId="com.renesas.cdt.managedbuild.core.toolchainInfo"> 92 92 <option id="toolchain.id" value="RENESAS_GCC_RX"/> 93 <option id="toolchain.version" value="4.8.4.201 703"/>93 <option id="toolchain.version" value="4.8.4.201803"/> 94 94 </storageModule> 95 95 <storageModule moduleId="cdtBuildSystem" version="4.0.0"> … … 106 106 <option id="com.renesas.cdt.managedbuild.gcc.core.option.debug.warnStackSize.881482763" name="Warn if stack size exceeds the limit (-Wstack-usage) (H')" superClass="com.renesas.cdt.managedbuild.gcc.core.option.debug.warnStackSize" useByScannerDiscovery="false" value="100" valueType="string"/> 107 107 <targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="com.renesas.cdt.managedbuild.gcc.core.targetPlatform.391802059" isAbstract="false" osList="all" superClass="com.renesas.cdt.managedbuild.gcc.core.targetPlatform"/> 108 <builder buildPath="${workspace_loc:/app5_temp_sensor}/DebugCitrus" id="com.renesas.cdt.managedbuild.gcc.core.builder.224601891" keepEnvironmentInBuildfile="false" managedBuildOn="false" name="GCC for Renesas Builder" parallelBuildOn=" false" superClass="com.renesas.cdt.managedbuild.gcc.core.builder"/>108 <builder buildPath="${workspace_loc:/app5_temp_sensor}/DebugCitrus" id="com.renesas.cdt.managedbuild.gcc.core.builder.224601891" keepEnvironmentInBuildfile="false" managedBuildOn="false" name="GCC for Renesas Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="com.renesas.cdt.managedbuild.gcc.core.builder"/> 109 109 <tool id="com.renesas.cdt.managedbuild.gcc.rx.tool.libgen.847507658" name="Library Generator" superClass="com.renesas.cdt.managedbuild.gcc.rx.tool.libgen"> 110 110 <option id="com.renesas.cdt.managedbuild.gcc.rx.option.selectlibrary.371365316" name="Select Library" superClass="com.renesas.cdt.managedbuild.gcc.rx.option.selectlibrary" useByScannerDiscovery="true" value="com.renesas.cdt.managedbuild.gcc.core.option.librarygenerator.settings.selectLibrary.newLib" valueType="enumerated"/> … … 160 160 <storageModule moduleId="com.renesas.cdt.managedbuild.core.toolchainInfo"> 161 161 <option id="toolchain.id" value="RENESAS_GCC_RX"/> 162 <option id="toolchain.version" value="4.8.4.201 703"/>162 <option id="toolchain.version" value="4.8.4.201803"/> 163 163 </storageModule> 164 164 <storageModule moduleId="cdtBuildSystem" version="4.0.0"> … … 175 175 <option id="com.renesas.cdt.managedbuild.gcc.core.option.debug.warnStackSize.751823232" name="Warn if stack size exceeds the limit (-Wstack-usage) (H')" superClass="com.renesas.cdt.managedbuild.gcc.core.option.debug.warnStackSize" useByScannerDiscovery="false" value="100" valueType="string"/> 176 176 <targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="com.renesas.cdt.managedbuild.gcc.core.targetPlatform.381079413" isAbstract="false" osList="all" superClass="com.renesas.cdt.managedbuild.gcc.core.targetPlatform"/> 177 <builder buildPath="${workspace_loc:/app5_temp_sensor}/DebugEther" id="com.renesas.cdt.managedbuild.gcc.core.builder.1878313362" keepEnvironmentInBuildfile="false" managedBuildOn="false" name="GCC for Renesas Builder" parallelBuildOn=" false" superClass="com.renesas.cdt.managedbuild.gcc.core.builder"/>177 <builder buildPath="${workspace_loc:/app5_temp_sensor}/DebugEther" id="com.renesas.cdt.managedbuild.gcc.core.builder.1878313362" keepEnvironmentInBuildfile="false" managedBuildOn="false" name="GCC for Renesas Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="com.renesas.cdt.managedbuild.gcc.core.builder"/> 178 178 <tool id="com.renesas.cdt.managedbuild.gcc.rx.tool.libgen.1422598921" name="Library Generator" superClass="com.renesas.cdt.managedbuild.gcc.rx.tool.libgen"> 179 179 <option id="com.renesas.cdt.managedbuild.gcc.rx.option.selectlibrary.1459601745" name="Select Library" superClass="com.renesas.cdt.managedbuild.gcc.rx.option.selectlibrary" useByScannerDiscovery="true" value="com.renesas.cdt.managedbuild.gcc.core.option.librarygenerator.settings.selectLibrary.newLib" valueType="enumerated"/> … … 224 224 <storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/> 225 225 <storageModule moduleId="refreshScope" versionNumber="2"> 226 <configuration configurationName="DebugEther"/> 227 <configuration configurationName="DebugCitrus"/> 226 228 <configuration configurationName="Debug"> 227 229 <resource resourceType="PROJECT" workspacePath="/app5_temp_sensor"/> … … 231 233 </configuration> 232 234 </storageModule> 235 <storageModule moduleId="org.eclipse.cdt.make.core.buildtargets"/> 233 236 </cproject> -
asp3_tinet_ecnl_rx/trunk/app5_temp_sensor/Debug/Makefile
r342 r364 155 155 156 156 # 157 # gdicサービスの定義 158 # 159 160 include $(SRCDIR)/gdic/adafruit_ssd1306/Makefile.config 161 162 # 157 163 # 共通コンパイルオプションの定義 158 164 # … … 167 173 CDEFS := -DTOPPERS_OMIT_TECS $(CDEFS) 168 174 endif 169 CDEFS := $(CDEFS) -DDHCP4_CLI_CFG -DUSE_PING -DUSE_RESOLVER -DUSE_NETAPP_SUBR -D ECHONET_USE_MALLOC -DRamDisk=binary_______ntshell_src_rom_fs_bin_start175 CDEFS := $(CDEFS) -DDHCP4_CLI_CFG -DUSE_PING -DUSE_RESOLVER -DUSE_NETAPP_SUBR -DNOUSE_MPF_NET_BUF -DECHONET_USE_MALLOC -DRamDisk=binary_______ntshell_src_rom_fs_bin_start 170 176 INCLUDES := -I. -I$(SRCDIR)/include -I$(SRCDIR) \ 171 177 -I$(SRCDIR)/../btstack/include \ … … 175 181 -I$(SRCDIR)/../usbhost/src \ 176 182 $(INCLUDES) 177 LDFLAGS := $(LDFLAGS) - Wl,-Map=$(OBJNAME).map,--cref -L.183 LDFLAGS := $(LDFLAGS) -L. 178 184 LIBS := $(LIBS) $(CXXLIBS) 179 185 CFLAGS = $(COPTS) $(CDEFS) $(INCLUDES) … … 185 191 APPLDIRS := $(APPLDIRS) ../../ntshell/tlsf ../../ntshell/fatfs ../../ntshell/ntshell ../../ntshell/ntshell/core ../../ntshell/ntshell/util ../../ntshell/src 186 192 APPL_COBJS := $(APPL_COBJS) mbed_api.o netcmd.o fdtable.o io_stub.o socket_stub.o ffarch.o diskio.o ff.o mmc_rspi.o ccsbcs.o ntshell.o text_editor.o text_history.o usrcmd.o vtrecv.o vtsend.o ntlibc.o ntstdio.o ntopt.o syscall.o tlsf.o 193 APPLDIRS := $(APPLDIRS) ../../ntshell/lcd 194 APPL_COBJS := $(APPL_COBJS) draw_font.o shnm12_font.o 195 APPL_CFLAGS := $(APPL_CFLAGS) -DADAFRUIT_SSD1306 -DSHNM12_FONT 187 196 188 197 # … … 209 218 endif 210 219 211 212 # 213 # ネットワークサービスの定義 214 # 215 NO_USE_TINET_LIBRARY = true 216 217 # ネットワークインタフェースの選択、何れか一つ選択する。 218 NET_IF = ether 219 220 # イーサネット・ディバイスドライバの選択 221 NET_DEV = if_btusb 222 223 # ネットワーク層の選択 224 #SUPPORT_INET6 = true 225 SUPPORT_INET4 = true 226 227 # API に組込む機能の選択 228 #API_CFG_IP4MAPPED_ADDR = true 229 230 # トランスポート層の選択 231 SUPPORT_TCP = true 232 SUPPORT_UDP = true 233 234 # IGMPを有効に設定 235 SUPPORT_IGMP = true 236 237 # 238 # ネットワークサービスの Makefile のインクルード 239 # 240 include $(SRCDIR)/$(TINETDIR)/Makefile.tinet 220 ifdef TINETDIR 221 # 222 # ネットワークサービスの定義 223 # 224 NO_USE_TINET_LIBRARY = true 225 226 # ネットワークインタフェースの選択、何れか一つ選択する。 227 NET_IF = ether 228 229 # イーサネット・ディバイスドライバの選択 230 NET_DEV = if_btusb 231 232 # ネットワーク層の選択 233 #SUPPORT_INET6 = true 234 SUPPORT_INET4 = true 235 236 # API に組込む機能の選択 237 #API_CFG_IP4MAPPED_ADDR = true 238 239 # トランスポート層の選択 240 SUPPORT_TCP = true 241 SUPPORT_UDP = true 242 243 # IGMPを有効に設定 244 SUPPORT_IGMP = true 245 246 # 247 # ネットワークサービスの Makefile のインクルード 248 # 249 include $(SRCDIR)/$(TINETDIR)/Makefile.tinet 250 endif 241 251 242 252 # … … 258 268 all: tecs | $(DEPDIR) 259 269 # @$(MAKE) check 260 @$(MAKE) check $(OBJNAME).bin270 # @$(MAKE) check $(OBJNAME).bin 261 271 # @$(MAKE) check $(OBJNAME).srec 272 @$(MAKE) check $(OBJNAME).mot 262 273 else 263 274 #all: check 264 all: check $(OBJNAME).bin275 #all: check $(OBJNAME).bin 265 276 #all: check $(OBJNAME).srec 277 all: check $(OBJNAME).mot 266 278 endif 267 279 … … 271 283 # コンフィギュレータに関する定義 272 284 # 273 CFG_TRB := -T $(TINET_ROOT)/tinet.trb:tcpip -T ../../ntshell/echonet/echonet.trb:echonet -T $(TARGETDIR)/target_kernel.trb:kernel 274 CFG_TABS := --api-table $(TINET_ROOT)/tcpip_api.def:tcpip \ 285 ifndef TINETDIR 286 CFG_TRB := -T $(TARGETDIR)/target_kernel.trb 287 CFG_TABS := --api-table $(SRCDIR)/kernel/kernel_api.def \ 288 --symval-table $(SRCDIR)/kernel/kernel_sym.def $(CFG_TABS) 289 else 290 CFG_TRB := -T $(TINET_ROOT)/tinet.trb:tcpip -T ../../ntshell/echonet/echonet.trb:echonet -T $(TARGETDIR)/target_kernel.trb:kernel 291 CFG_TABS := --api-table $(TINET_ROOT)/tcpip_api.def:tcpip \ 275 292 --api-table ../../ntshell/echonet/echonet_api.def:echonet \ 276 293 --api-table $(SRCDIR)/kernel/kernel_api.def:kernel \ … … 278 295 --symval-table ../../ntshell/echonet/echonet_sym.def \ 279 296 --symval-table $(SRCDIR)/kernel/kernel_sym.def $(CFG_TABS) 297 endif 280 298 CFG_ASMOBJS := $(CFG_ASMOBJS) 281 299 CFG_COBJS := kernel_cfg.o echonet_cfg.o $(CFG_COBJS) … … 423 441 424 442 # 443 # 並列makeのための依存関係の定義 444 # 445 $(APPL_OBJS) $(SYSSVC_OBJS): | kernel_cfg.timestamp 446 $(APPL_ASMOBJS) $(SYSSVC_ASMOBJS) $(KERNEL_ASMOBJS) $(CFG_ASMOBJS): \ 447 | offset.timestamp 448 449 # 425 450 # 特別な依存関係の定義 426 451 # … … 431 456 # 432 457 $(OBJFILE): $(ALL_OBJS) $(LIBS_DEP) 433 $(LINK) $(CFLAGS) $(LDFLAGS) $(OBJ_LDFLAGS) -o $(OBJFILE) \458 $(LINK) $(CFLAGS) $(LDFLAGS) $(OBJ_LDFLAGS) -o $(OBJFILE) -Wl,-Map=$(OBJNAME).map,--cref \ 434 459 $(START_OBJS) $(APPL_OBJS) $(SYSSVC_OBJS) $(CFG_OBJS) \ 435 460 -Wl,--start-group $(ALL_LIBS) -Wl,--end-group $(END_OBJS) … … 460 485 $(OBJNAME).srec: $(OBJFILE) 461 486 $(OBJCOPY) -O srec -S $(OBJFILE) $(OBJNAME).srec 487 488 $(OBJNAME).mot: $(OBJFILE) 489 $(OBJCOPY) -O srec -S $(OBJFILE) $(OBJNAME).mot 462 490 463 491 # -
asp3_tinet_ecnl_rx/trunk/app5_temp_sensor/DebugCitrus/Makefile
r342 r364 155 155 156 156 # 157 # gdicサービスの定義 158 # 159 160 include $(SRCDIR)/gdic/adafruit_ssd1306/Makefile.config 161 162 # 157 163 # 共通コンパイルオプションの定義 158 164 # … … 167 173 CDEFS := -DTOPPERS_OMIT_TECS $(CDEFS) 168 174 endif 169 CDEFS := $(CDEFS) -DDHCP4_CLI_CFG -DUSE_PING -DUSE_RESOLVER -DUSE_NETAPP_SUBR -D ECHONET_USE_MALLOC -DRamDisk=binary_______ntshell_src_rom_fs_bin_start175 CDEFS := $(CDEFS) -DDHCP4_CLI_CFG -DUSE_PING -DUSE_RESOLVER -DUSE_NETAPP_SUBR -DNOUSE_MPF_NET_BUF -DECHONET_USE_MALLOC -DRamDisk=binary_______ntshell_src_rom_fs_bin_start 170 176 INCLUDES := -I. -I$(SRCDIR)/include -I$(SRCDIR) \ 171 177 -I$(SRCDIR)/../btstack/include \ … … 175 181 -I$(SRCDIR)/../usbhost/src \ 176 182 $(INCLUDES) 177 LDFLAGS := $(LDFLAGS) - Wl,-Map=$(OBJNAME).map,--cref -L.183 LDFLAGS := $(LDFLAGS) -L. 178 184 LIBS := $(LIBS) $(CXXLIBS) 179 185 CFLAGS = $(COPTS) $(CDEFS) $(INCLUDES) … … 185 191 APPLDIRS := $(APPLDIRS) ../../ntshell/tlsf ../../ntshell/fatfs ../../ntshell/ntshell ../../ntshell/ntshell/core ../../ntshell/ntshell/util ../../ntshell/src 186 192 APPL_COBJS := $(APPL_COBJS) mbed_api.o netcmd.o fdtable.o io_stub.o socket_stub.o ffarch.o diskio.o ff.o mmc_rspi.o ccsbcs.o ntshell.o text_editor.o text_history.o usrcmd.o vtrecv.o vtsend.o ntlibc.o ntstdio.o ntopt.o syscall.o tlsf.o 193 APPLDIRS := $(APPLDIRS) ../../ntshell/lcd 194 APPL_COBJS := $(APPL_COBJS) draw_font.o shnm12_font.o 195 APPL_CFLAGS := $(APPL_CFLAGS) -DADAFRUIT_SSD1306 -DSHNM12_FONT 187 196 188 197 # … … 209 218 endif 210 219 211 212 # 213 # ネットワークサービスの定義 214 # 215 NO_USE_TINET_LIBRARY = true 216 217 # ネットワークインタフェースの選択、何れか一つ選択する。 218 NET_IF = ether 219 220 # イーサネット・ディバイスドライバの選択 221 NET_DEV = if_btusb 222 223 # ネットワーク層の選択 224 #SUPPORT_INET6 = true 225 SUPPORT_INET4 = true 226 227 # API に組込む機能の選択 228 #API_CFG_IP4MAPPED_ADDR = true 229 230 # トランスポート層の選択 231 SUPPORT_TCP = true 232 SUPPORT_UDP = true 233 234 # IGMPを有効に設定 235 SUPPORT_IGMP = true 236 237 # 238 # ネットワークサービスの Makefile のインクルード 239 # 240 include $(SRCDIR)/$(TINETDIR)/Makefile.tinet 220 ifdef TINETDIR 221 # 222 # ネットワークサービスの定義 223 # 224 NO_USE_TINET_LIBRARY = true 225 226 # ネットワークインタフェースの選択、何れか一つ選択する。 227 NET_IF = ether 228 229 # イーサネット・ディバイスドライバの選択 230 NET_DEV = if_btusb 231 232 # ネットワーク層の選択 233 #SUPPORT_INET6 = true 234 SUPPORT_INET4 = true 235 236 # API に組込む機能の選択 237 #API_CFG_IP4MAPPED_ADDR = true 238 239 # トランスポート層の選択 240 SUPPORT_TCP = true 241 SUPPORT_UDP = true 242 243 # IGMPを有効に設定 244 SUPPORT_IGMP = true 245 246 # 247 # ネットワークサービスの Makefile のインクルード 248 # 249 include $(SRCDIR)/$(TINETDIR)/Makefile.tinet 250 endif 241 251 242 252 # … … 258 268 all: tecs | $(DEPDIR) 259 269 # @$(MAKE) check 260 @$(MAKE) check $(OBJNAME).bin270 # @$(MAKE) check $(OBJNAME).bin 261 271 # @$(MAKE) check $(OBJNAME).srec 272 @$(MAKE) check $(OBJNAME).mot 262 273 else 263 274 #all: check 264 all: check $(OBJNAME).bin275 #all: check $(OBJNAME).bin 265 276 #all: check $(OBJNAME).srec 277 all: check $(OBJNAME).mot 266 278 endif 267 279 … … 271 283 # コンフィギュレータに関する定義 272 284 # 273 CFG_TRB := -T $(TINET_ROOT)/tinet.trb:tcpip -T ../../ntshell/echonet/echonet.trb:echonet -T $(TARGETDIR)/target_kernel.trb:kernel 274 CFG_TABS := --api-table $(TINET_ROOT)/tcpip_api.def:tcpip \ 285 ifndef TINETDIR 286 CFG_TRB := -T $(TARGETDIR)/target_kernel.trb 287 CFG_TABS := --api-table $(SRCDIR)/kernel/kernel_api.def \ 288 --symval-table $(SRCDIR)/kernel/kernel_sym.def $(CFG_TABS) 289 else 290 CFG_TRB := -T $(TINET_ROOT)/tinet.trb:tcpip -T ../../ntshell/echonet/echonet.trb:echonet -T $(TARGETDIR)/target_kernel.trb:kernel 291 CFG_TABS := --api-table $(TINET_ROOT)/tcpip_api.def:tcpip \ 275 292 --api-table ../../ntshell/echonet/echonet_api.def:echonet \ 276 293 --api-table $(SRCDIR)/kernel/kernel_api.def:kernel \ … … 278 295 --symval-table ../../ntshell/echonet/echonet_sym.def \ 279 296 --symval-table $(SRCDIR)/kernel/kernel_sym.def $(CFG_TABS) 297 endif 280 298 CFG_ASMOBJS := $(CFG_ASMOBJS) 281 299 CFG_COBJS := kernel_cfg.o echonet_cfg.o $(CFG_COBJS) … … 423 441 424 442 # 443 # 並列makeのための依存関係の定義 444 # 445 $(APPL_OBJS) $(SYSSVC_OBJS): | kernel_cfg.timestamp 446 $(APPL_ASMOBJS) $(SYSSVC_ASMOBJS) $(KERNEL_ASMOBJS) $(CFG_ASMOBJS): \ 447 | offset.timestamp 448 449 # 425 450 # 特別な依存関係の定義 426 451 # … … 431 456 # 432 457 $(OBJFILE): $(ALL_OBJS) $(LIBS_DEP) 433 $(LINK) $(CFLAGS) $(LDFLAGS) $(OBJ_LDFLAGS) -o $(OBJFILE) \458 $(LINK) $(CFLAGS) $(LDFLAGS) $(OBJ_LDFLAGS) -o $(OBJFILE) -Wl,-Map=$(OBJNAME).map,--cref \ 434 459 $(START_OBJS) $(APPL_OBJS) $(SYSSVC_OBJS) $(CFG_OBJS) \ 435 460 -Wl,--start-group $(ALL_LIBS) -Wl,--end-group $(END_OBJS) … … 460 485 $(OBJNAME).srec: $(OBJFILE) 461 486 $(OBJCOPY) -O srec -S $(OBJFILE) $(OBJNAME).srec 487 488 $(OBJNAME).mot: $(OBJFILE) 489 $(OBJCOPY) -O srec -S $(OBJFILE) $(OBJNAME).mot 462 490 463 491 # -
asp3_tinet_ecnl_rx/trunk/app5_temp_sensor/DebugEther/Makefile
r342 r364 153 153 154 154 # 155 # gdicサービスの定義 156 # 157 158 include $(SRCDIR)/gdic/adafruit_ssd1306/Makefile.config 159 160 # 155 161 # 共通コンパイルオプションの定義 156 162 # … … 165 171 CDEFS := -DTOPPERS_OMIT_TECS $(CDEFS) 166 172 endif 167 CDEFS := $(CDEFS) -DDHCP4_CLI_CFG -DUSE_PING -DUSE_RESOLVER -DUSE_NETAPP_SUBR -D ECHONET_USE_MALLOC -DRamDisk=binary_______ntshell_src_rom_fs_bin_start173 CDEFS := $(CDEFS) -DDHCP4_CLI_CFG -DUSE_PING -DUSE_RESOLVER -DUSE_NETAPP_SUBR -DNOUSE_MPF_NET_BUF -DECHONET_USE_MALLOC -DRamDisk=binary_______ntshell_src_rom_fs_bin_start 168 174 INCLUDES := -I. -I$(SRCDIR)/include -I$(SRCDIR) \ 169 175 -I$(SRCDIR)/../btstack/include \ … … 173 179 -I$(SRCDIR)/../usbhost/src \ 174 180 $(INCLUDES) 175 LDFLAGS := $(LDFLAGS) - Wl,-Map=$(OBJNAME).map,--cref -L.181 LDFLAGS := $(LDFLAGS) -L. 176 182 LIBS := $(LIBS) $(CXXLIBS) 177 183 CFLAGS = $(COPTS) $(CDEFS) $(INCLUDES) … … 183 189 APPLDIRS := $(APPLDIRS) ../../ntshell/tlsf ../../ntshell/fatfs ../../ntshell/ntshell ../../ntshell/ntshell/core ../../ntshell/ntshell/util ../../ntshell/src 184 190 APPL_COBJS := $(APPL_COBJS) mbed_api.o netcmd.o fdtable.o io_stub.o socket_stub.o ffarch.o diskio.o ff.o mmc_rspi.o ccsbcs.o ntshell.o text_editor.o text_history.o usrcmd.o vtrecv.o vtsend.o ntlibc.o ntstdio.o ntopt.o syscall.o tlsf.o 191 APPLDIRS := $(APPLDIRS) ../../ntshell/lcd 192 APPL_COBJS := $(APPL_COBJS) draw_font.o shnm12_font.o 193 APPL_CFLAGS := $(APPL_CFLAGS) -DADAFRUIT_SSD1306 -DSHNM12_FONT 185 194 186 195 # … … 207 216 endif 208 217 209 210 #211 # ネットワークサービスの定義212 #213 NO_USE_TINET_LIBRARY = true214 215 # ネットワークインタフェースの選択、何れか一つ選択する。216 NET_IF = ether217 218 # イーサネット・ディバイスドライバの選択218 ifdef TINETDIR 219 # 220 # ネットワークサービスの定義 221 # 222 NO_USE_TINET_LIBRARY = true 223 224 # ネットワークインタフェースの選択、何れか一つ選択する。 225 NET_IF = ether 226 227 # イーサネット・ディバイスドライバの選択 219 228 NET_DEV = if_rx62n 220 229 221 # ネットワーク層の選択 222 #SUPPORT_INET6 = true 223 SUPPORT_INET4 = true 224 225 # API に組込む機能の選択 226 #API_CFG_IP4MAPPED_ADDR = true 227 228 # トランスポート層の選択 229 SUPPORT_TCP = true 230 SUPPORT_UDP = true 231 232 # IGMPを有効に設定 233 SUPPORT_IGMP = true 234 235 # 236 # ネットワークサービスの Makefile のインクルード 237 # 238 include $(SRCDIR)/$(TINETDIR)/Makefile.tinet 230 # ネットワーク層の選択 231 #SUPPORT_INET6 = true 232 SUPPORT_INET4 = true 233 234 # API に組込む機能の選択 235 #API_CFG_IP4MAPPED_ADDR = true 236 237 # トランスポート層の選択 238 SUPPORT_TCP = true 239 SUPPORT_UDP = true 240 241 # IGMPを有効に設定 242 SUPPORT_IGMP = true 243 244 # 245 # ネットワークサービスの Makefile のインクルード 246 # 247 include $(SRCDIR)/$(TINETDIR)/Makefile.tinet 248 endif 239 249 240 250 # … … 256 266 all: tecs | $(DEPDIR) 257 267 # @$(MAKE) check 258 @$(MAKE) check $(OBJNAME).bin268 # @$(MAKE) check $(OBJNAME).bin 259 269 # @$(MAKE) check $(OBJNAME).srec 270 @$(MAKE) check $(OBJNAME).mot 260 271 else 261 272 #all: check 262 all: check $(OBJNAME).bin273 #all: check $(OBJNAME).bin 263 274 #all: check $(OBJNAME).srec 275 all: check $(OBJNAME).mot 264 276 endif 265 277 … … 269 281 # コンフィギュレータに関する定義 270 282 # 271 CFG_TRB := -T $(TINET_ROOT)/tinet.trb:tcpip -T ../../ntshell/echonet/echonet.trb:echonet -T $(TARGETDIR)/target_kernel.trb:kernel 272 CFG_TABS := --api-table $(TINET_ROOT)/tcpip_api.def:tcpip \ 283 ifndef TINETDIR 284 CFG_TRB := -T $(TARGETDIR)/target_kernel.trb 285 CFG_TABS := --api-table $(SRCDIR)/kernel/kernel_api.def \ 286 --symval-table $(SRCDIR)/kernel/kernel_sym.def $(CFG_TABS) 287 else 288 CFG_TRB := -T $(TINET_ROOT)/tinet.trb:tcpip -T ../../ntshell/echonet/echonet.trb:echonet -T $(TARGETDIR)/target_kernel.trb:kernel 289 CFG_TABS := --api-table $(TINET_ROOT)/tcpip_api.def:tcpip \ 273 290 --api-table ../../ntshell/echonet/echonet_api.def:echonet \ 274 291 --api-table $(SRCDIR)/kernel/kernel_api.def:kernel \ … … 276 293 --symval-table ../../ntshell/echonet/echonet_sym.def \ 277 294 --symval-table $(SRCDIR)/kernel/kernel_sym.def $(CFG_TABS) 295 endif 278 296 CFG_ASMOBJS := $(CFG_ASMOBJS) 279 297 CFG_COBJS := kernel_cfg.o echonet_cfg.o $(CFG_COBJS) … … 421 439 422 440 # 441 # 並列makeのための依存関係の定義 442 # 443 $(APPL_OBJS) $(SYSSVC_OBJS): | kernel_cfg.timestamp 444 $(APPL_ASMOBJS) $(SYSSVC_ASMOBJS) $(KERNEL_ASMOBJS) $(CFG_ASMOBJS): \ 445 | offset.timestamp 446 447 # 423 448 # 特別な依存関係の定義 424 449 # … … 429 454 # 430 455 $(OBJFILE): $(ALL_OBJS) $(LIBS_DEP) 431 $(LINK) $(CFLAGS) $(LDFLAGS) $(OBJ_LDFLAGS) -o $(OBJFILE) \456 $(LINK) $(CFLAGS) $(LDFLAGS) $(OBJ_LDFLAGS) -o $(OBJFILE) -Wl,-Map=$(OBJNAME).map,--cref \ 432 457 $(START_OBJS) $(APPL_OBJS) $(SYSSVC_OBJS) $(CFG_OBJS) \ 433 458 -Wl,--start-group $(ALL_LIBS) -Wl,--end-group $(END_OBJS) … … 458 483 $(OBJNAME).srec: $(OBJFILE) 459 484 $(OBJCOPY) -O srec -S $(OBJFILE) $(OBJNAME).srec 485 486 $(OBJNAME).mot: $(OBJFILE) 487 $(OBJCOPY) -O srec -S $(OBJFILE) $(OBJNAME).mot 460 488 461 489 # -
asp3_tinet_ecnl_rx/trunk/app5_temp_sensor/src/echonet_main.c
r351 r364 1 1 /* 2 2 * TOPPERS ECHONET Lite Communication Middleware 3 * 3 * 4 4 * Copyright (C) 2014-2018 Cores Co., Ltd. Japan 5 * 5 * 6 6 * 上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ 7 7 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 … … 26 26 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 27 27 * 免責すること. 28 * 28 * 29 29 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 30 30 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 … … 32 32 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 33 33 * の責任を負わない. 34 * 34 * 35 35 * @(#) $Id$ 36 36 */ 37 37 38 /* 38 /* 39 39 * サンプルプログラム(1)の本体 40 40 */ … … 51 51 #include "echonet_cfg.h" 52 52 #include "target_kernel_impl.h" 53 #include "adafruit_ssd1306.h" 54 #include "draw_font.h" 53 55 54 56 /* TODO: メーカーコードを設定 */ … … 107 109 108 110 /* サイズが1以外は受け付けない */ 109 if (size != 1)111 if (size != 1) 110 112 return 0; 111 113 112 114 *anno = *((uint8_t *)item->exinf) != *((uint8_t *)src); 113 115 114 switch (*(uint8_t *)src){116 switch (*(uint8_t *)src) { 115 117 /* ONの場合 */ 116 118 case 0x30: … … 122 124 data[1] = *(uint8_t *)src; 123 125 ret = ecn_brk_wai(data, sizeof(data)); 124 if (ret != E_OK){126 if (ret != E_OK) { 125 127 syslog(LOG_ERROR, "ecn_brk_wai"); 126 128 return 1; … … 141 143 { 142 144 /* サイズが1以外は受け付けない */ 143 if (size != 1)145 if (size != 1) 144 146 return 0; 145 147 146 148 *anno = *((uint8_t *)item->exinf) != *((uint8_t *)src); 147 149 148 switch (*(uint8_t *)src){150 switch (*(uint8_t *)src) { 149 151 /* 異常発生ありの場合 */ 150 152 case 0x41: … … 172 174 173 175 /* サイズが2以外は受け付けない */ 174 if (size != 2)176 if (size != 2) 175 177 return 0; 176 178 177 179 value = (((uint8_t *)src)[0] << 8) | (((uint8_t *)src)[1] & 0xFF); 178 180 179 if ((value >= -2732) && (value <= 32766)){181 if ((value >= -2732) && (value <= 32766)) { 180 182 eobj->propertyE0 = value; 181 183 /* メインタスクに通知 */ 182 184 data[0] = 0xE0; 183 185 ret = ecn_brk_wai(data, sizeof(data)); 184 if (ret != E_OK){186 if (ret != E_OK) { 185 187 syslog(LOG_ERROR, "ecn_brk_wai"); 186 188 return 2; … … 188 190 } 189 191 /* 上記以外は受け付けない */ 190 else {192 else { 191 193 return 0; 192 194 } … … 195 197 } 196 198 197 /* 199 /* 198 200 * 温度計測値取得関数 199 201 */ … … 204 206 205 207 /* サイズが2以外は受け付けない */ 206 if (size != 2)208 if (size != 2) 207 209 return 0; 208 210 … … 236 238 237 239 ret2 = get_tim(&now); 238 if (ret2 != E_OK) {240 if (ret2 != E_OK) { 239 241 syslog(LOG_ERROR, "get_tim"); 240 242 return; 241 243 } 242 244 243 for (;;){245 for (;;) { 244 246 prev = now; 245 247 … … 249 251 /* 応答電文待ち */ 250 252 ret = ecn_trcv_esv(&esv, timer); 251 if ((ret != E_OK) && (ret != E_BRK) && (ret != E_TMOUT)) {253 if ((ret != E_OK) && (ret != E_BRK) && (ret != E_TMOUT)) { 252 254 syslog(LOG_ERROR, "ecn_trcv_esv"); 253 255 break; … … 255 257 256 258 ret2 = get_tim(&now); 257 if (ret2 != E_OK) {259 if (ret2 != E_OK) { 258 260 syslog(LOG_ERROR, "get_tim"); 259 261 break; … … 270 272 /* 領域解放 */ 271 273 ret = ecn_rel_esv(esv); 272 if (ret != E_OK) {274 if (ret != E_OK) { 273 275 syslog(LOG_ERROR, "ecn_rel_esv"); 274 276 break; … … 279 281 /* 応答電文待ちの割り込みデータ取得 */ 280 282 ret = ecn_get_brk_dat(esv, brkdat, sizeof(brkdat), &len); 281 if (ret != E_OK) {283 if (ret != E_OK) { 282 284 syslog(LOG_ERROR, "ecn_get_brk_dat"); 283 285 break; … … 289 291 /* 領域解放 */ 290 292 ret = ecn_rel_esv(esv); 291 if (ret != E_OK) {293 if (ret != E_OK) { 292 294 syslog(LOG_ERROR, "ecn_rel_esv"); 293 295 break; … … 300 302 } 301 303 302 bool_t started = false;303 304 304 void echonet_change_netif_link(uint8_t link_up, uint8_t up) 305 305 { … … 309 309 return; 310 310 311 if (up && !started) { 312 started = true; 313 314 /* ECHONETミドルウェアを起動 */ 315 ret = ecn_sta_svc(); 316 if (ret != E_OK) 317 return; 318 319 /* ECHONETミドルウェアを起動するのを待つ */ 320 dly_tsk(100); 311 if (up) { 312 /* インスタンスリスト通知の送信 */ 313 ret = ecn_ntf_inl(); 314 if (ret != E_OK) { 315 syslog(LOG_ERROR, "ecn_ntf_inl"); 316 } 321 317 } 322 318 … … 332 328 } 333 329 334 enum main_state_t{ 330 enum main_state_t { 331 main_state_start, 335 332 main_state_idle, 336 333 }; 337 334 338 335 int main_timer = TMO_FEVR; 339 enum main_state_t main_state = main_state_idle; 340 341 enum main_led_state_t{ 342 main_led_state_idle, 343 main_led_state_on_o, 344 main_led_state_on_n, 345 main_led_state_off_o, 346 main_led_state_off_f1, 347 main_led_state_off_f2, 348 main_led_state_space1, 349 main_led_state_tmpr_minus, 350 main_led_state_tmpr_100, 351 main_led_state_tmpr_10, 352 main_led_state_tmpr_1, 353 main_led_state_space2, 354 main_led_state_humid_10, 355 main_led_state_humid_1, 356 main_led_state_space3, 357 }; 358 359 int main_led_timer = TMO_FEVR; 360 enum main_led_state_t main_led_state = main_led_state_idle; 361 bool_t main_led_update; 336 enum main_state_t main_state = main_state_start; 337 338 int main_lcd_timer = TMO_FEVR; 339 int main_lcd_state = 0; 362 340 363 341 bool_t main_btn1_state; … … 365 343 bool_t main_btn2_state; 366 344 int main_btn2_count = 0; 345 346 LCD_Handler_t lcd; 367 347 368 348 /* … … 387 367 sil_wrb_mem((uint8_t *)0x0008C02D, 0xC0); 388 368 389 /* 10ms後にボタン状態を確認 */ 390 main_timer = 10 * 1000; 369 /* ECHONETミドルウェアを起動するのを待つ */ 370 main_state = main_state_start; 371 main_timer = 1000 * 1000; 391 372 392 373 /* 12bitADC初期化 */ 393 374 sil_wrh_mem((uint16_t *)S12AD_ADEXICR_ADDR, 0x0000); /* 温度センサ出力、内部基準電圧非選択 */ 394 sil_wrh_mem((uint16_t *)S12AD_ADANS0_ADDR, 0x000 1); /* 変換ポートAN000選択、AN001~AN015非選択 */375 sil_wrh_mem((uint16_t *)S12AD_ADANS0_ADDR, 0x0007); /* 変換ポートAN000選択、AN001~AN015非選択 */ 395 376 sil_wrh_mem((uint16_t *)S12AD_ADANS1_ADDR, 0x0000); /* 変換ポートAN016~AN020非選択 */ 396 397 if(temperature_sensor1_data.property80 == 0x30)398 main_led_state = main_led_state_on_o;399 else400 main_led_state = main_led_state_off_o;401 main_led_timer = 0;402 377 403 378 /* ボタン状態読み込み */ … … 407 382 main_btn2_state = (btn2 & 0x80) != 0; 408 383 384 i2c_init(&lcd.i2c, I2C_SDA, I2C_SCL); 385 i2c_frequency(&lcd.i2c, 100000); 386 387 lcd_init3(&lcd, NC); 388 389 lcd_begin(&lcd, SSD1306_SWITCHCAPVCC, SSD1306_I2C_ADDRESS, true); 390 391 lcd_clearDisplay(&lcd); 392 393 lcd_display(&lcd); 394 395 /* 1秒後にLCD表示を更新 */ 396 main_lcd_state = 10; 397 main_lcd_timer = 1000 * 1000; 398 399 /* メインタスクを起動 */ 409 400 ER ret = act_tsk(MAIN_TASK); 410 401 if (ret != E_OK) { … … 420 411 int result = main_timer; 421 412 422 if ((result == TMO_FEVR)423 || ((main_l ed_timer != TMO_FEVR) && (main_led_timer < result))){424 result = main_l ed_timer;413 if ((result == TMO_FEVR) 414 || ((main_lcd_timer != TMO_FEVR) && (main_lcd_timer < result))) { 415 result = main_lcd_timer; 425 416 } 426 417 … … 433 424 static void main_progress(int interval) 434 425 { 435 if (main_timer != TMO_FEVR){426 if (main_timer != TMO_FEVR) { 436 427 main_timer -= interval; 437 if (main_timer < 0){428 if (main_timer < 0) { 438 429 main_timer = 0; 439 430 } 440 431 } 441 432 442 if (main_led_timer != TMO_FEVR){443 main_l ed_timer -= interval;444 if (main_led_timer < 0){445 main_l ed_timer = 0;433 if (main_lcd_timer != TMO_FEVR) { 434 main_lcd_timer -= interval; 435 if (main_lcd_timer < 0) { 436 main_lcd_timer = 0; 446 437 } 447 438 } … … 463 454 464 455 ret = ecn_itr_ini(&enm, esv); 465 if (ret != E_OK){456 if (ret != E_OK) { 466 457 syslog(LOG_ERROR, "ecn_itr_ini"); 467 458 return; 468 459 } 469 460 470 for (;;) {471 while ((ret = ecn_itr_nxt(&enm, &epc, &pdc, p_edt)) == E_OK) {461 for (;;) { 462 while ((ret = ecn_itr_nxt(&enm, &epc, &pdc, p_edt)) == E_OK) { 472 463 switch (epc) { 473 464 case 0xE0: 474 if (in_get && (esv->hdr.edata.esv == ESV_SET_GET_RES)){465 if (in_get && (esv->hdr.edata.esv == ESV_SET_GET_RES)) { 475 466 check_response(pdc, p_edt); 476 467 } … … 478 469 } 479 470 } 480 if (ret != E_BOVR){471 if (ret != E_BOVR) { 481 472 syslog(LOG_ERROR, "ecn_itr_nxt"); 482 473 break; 483 474 } 484 if (enm.is_eof)475 if (enm.is_eof) 485 476 break; 486 477 … … 501 492 502 493 if ((len == 2) && (brkdat[0] == 0x80)) { 503 switch (brkdat[1]){494 switch (brkdat[1]) { 504 495 /* ONの場合 */ 505 496 case 0x30: … … 514 505 } 515 506 } 516 517 switch(main_led_state){518 case main_led_state_idle:519 if(temperature_sensor1_data.property80 == 0x30)520 main_led_state = main_led_state_on_o;521 else522 main_led_state = main_led_state_off_o;523 main_led_timer = 0;524 break;525 default:526 main_led_update = true;527 break;528 }529 507 } 530 508 531 509 static void main_ontimer(); 532 static void main_l ed_ontimer();510 static void main_lcd_ontimer(); 533 511 534 512 /* … … 537 515 static void main_timeout() 538 516 { 539 if (main_timer == 0){517 if (main_timer == 0) { 540 518 main_ontimer(); 541 519 } 542 520 543 if(main_led_timer == 0){ 544 main_led_ontimer(); 545 } 546 } 547 548 static int16_t main_ad_tempr = 200; 549 static uint16_t main_ad_table[64]; 550 #define main_ad_table_count (sizeof(main_ad_table) / sizeof(main_ad_table[0])) 521 if (main_lcd_timer == 0) { 522 main_lcd_ontimer(); 523 } 524 } 525 526 #define main_ad_count 3 527 #define main_ad_table_count 64 528 static int16_t main_ad_tempr[main_ad_count] = { 200, 200, 200 }; 529 static uint16_t main_ad_table[main_ad_count][main_ad_table_count]; 551 530 static int main_ad_pos = 0; 552 static uint32_t main_ad_avelage ;553 static int main_count ;554 555 static void main_ad_change( );531 static uint32_t main_ad_avelage[main_ad_count]; 532 static int main_count[main_ad_count]; 533 534 static void main_ad_change(int no, int adv); 556 535 static void main_btn1_change(bool_t push); 557 536 static void main_btn2_change(bool_t push); 558 537 559 uint8_t led_disp[] = { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07 };560 561 538 static void main_ontimer() 562 539 { 540 ER ret; 563 541 uint8_t btn1, btn2; 564 542 uint16_t ad_value; 565 543 int16_t ad_tempr; 566 uint8_t sseg = sil_reb_mem((uint8_t *)0x0008C02A) & ~0x07; 567 568 switch(main_state){ 544 545 switch (main_state) { 546 case main_state_start: 547 /* ECHONETミドルウェアを起動 */ 548 ret = ecn_sta_svc(); 549 if (ret != E_OK) { 550 syslog(LOG_ERROR, "ecn_sta_svc"); 551 } 552 553 /* 10ms後にボタン状態を確認 */ 554 main_state = main_state_idle; 555 main_timer = 10 * 1000; 556 break; 569 557 case main_state_idle: 570 558 /* 10ms後にボタン状態を確認 */ … … 572 560 573 561 /* ADCの変換結果取得 */ 574 if((sil_reb_mem((uint8_t *)S12AD_ADCSR_ADDR) & S12AD_ADCSR_ADST_BIT) == 0){ 575 main_ad_avelage -= main_ad_table[main_ad_pos]; 576 ad_value = sil_reh_mem((uint16_t *)S12AD_ADDR0_ADDR); 577 main_ad_table[main_ad_pos] = ad_value; 578 main_ad_avelage += ad_value; 562 if ((sil_reb_mem((uint8_t *)S12AD_ADCSR_ADDR) & S12AD_ADCSR_ADST_BIT) == 0) { 563 for (int i = 0; i < main_ad_count; i++) { 564 main_ad_avelage[i] -= main_ad_table[i][main_ad_pos]; 565 ad_value = sil_reh_mem(&((uint16_t *)S12AD_ADDR0_ADDR)[i]); 566 main_ad_table[i][main_ad_pos] = ad_value; 567 main_ad_avelage[i] += ad_value; 568 } 579 569 580 570 main_ad_pos++; 581 if (main_ad_pos >= main_ad_table_count){571 if (main_ad_pos >= main_ad_table_count) { 582 572 main_ad_pos = 0; 583 573 } 584 574 585 ad_tempr = ((int16_t)(((main_ad_avelage / main_ad_table_count) >> 3) & 0x1FF)) - 100; 586 if(main_ad_tempr != ad_tempr){ 587 /* 1秒変化が続いたら */ 588 if(main_count < 100){ 589 main_count++; 575 for (int i = 0; i < main_ad_count; i++) { 576 ad_tempr = ((int16_t)(((main_ad_avelage[i] / main_ad_table_count) >> 3) & 0x1FF)) - 100; 577 if (main_ad_tempr[i] != ad_tempr) { 578 /* 1秒変化が続いたら */ 579 if (main_count[i] < 100) { 580 main_count[i]++; 581 } 582 else { 583 main_count[i] = 0; 584 main_ad_tempr[i] = ad_tempr; 585 586 /* ADC状態変化処理 */ 587 main_ad_change(i + 1, ad_tempr); 588 } 590 589 } 591 else{ 592 main_ad_tempr = ad_tempr; 593 594 /* ADC状態変化処理 */ 595 main_ad_change(); 590 else { 591 main_count[i] = 0; 596 592 } 597 } 598 else{ 599 main_count = 0; 600 } 601 602 /* LEDに温度計測値を表示 */ 603 sil_wrb_mem((uint8_t *)0x0008C02A, sseg | led_disp[(main_ad_avelage / main_ad_table_count) >> 9]); 604 605 /* 変換開始(シングルスキャンモード) */ 606 sil_wrb_mem((uint8_t *)S12AD_ADCSR_ADDR, S12AD_ADCSR_ADST_BIT); 593 594 /* 変換開始(シングルスキャンモード) */ 595 sil_wrb_mem((uint8_t *)S12AD_ADCSR_ADDR, S12AD_ADCSR_ADST_BIT); 596 } 607 597 } 608 598 … … 612 602 613 603 /* ボタン1の処理 */ 614 if (((btn1 & 0x20) != 0) && !main_btn1_state){604 if (((btn1 & 0x20) != 0) && !main_btn1_state) { 615 605 main_btn1_count++; 616 if (main_btn1_count > 10){606 if (main_btn1_count > 10) { 617 607 main_btn1_count = 0; 618 608 main_btn1_state = true; … … 621 611 } 622 612 } 623 else if (((btn1 & 0x20) == 0) && main_btn1_state){613 else if (((btn1 & 0x20) == 0) && main_btn1_state) { 624 614 main_btn1_count++; 625 if (main_btn1_count > 10){615 if (main_btn1_count > 10) { 626 616 main_btn1_count = 0; 627 617 main_btn1_state = false; … … 632 622 633 623 /* ボタン2の処理 */ 634 if (((btn2 & 0x80) != 0) && !main_btn2_state){624 if (((btn2 & 0x80) != 0) && !main_btn2_state) { 635 625 main_btn2_count++; 636 if (main_btn2_count > 10){626 if (main_btn2_count > 10) { 637 627 main_btn2_count = 0; 638 628 main_btn2_state = true; … … 641 631 } 642 632 } 643 else if (((btn2 & 0x80) == 0) && main_btn2_state){633 else if (((btn2 & 0x80) == 0) && main_btn2_state) { 644 634 main_btn2_count++; 645 if (main_btn2_count > 10){635 if (main_btn2_count > 10) { 646 636 main_btn2_count = 0; 647 637 main_btn2_state = false; … … 654 644 } 655 645 656 uint8_t led_num[] = { 0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8, 0x80, 0x90 }; 657 uint8_t led_onf[] = { 0xA3, 0xAB, 0x8E }; 658 659 static void main_led_ontimer() 646 static char temp1[] = "温度1:+000.0℃"; 647 static char temp2[] = "温度2:+000.0℃"; 648 static char humid[] = "湿度 :+000.0%"; 649 650 static void main_lcd_ontimer() 660 651 { 661 652 int temp; 662 653 663 switch(main_led_state){ 664 case main_led_state_idle: 665 /* 7segに' 'を表示 */ 666 sil_wrb_mem((uint8_t *)0x0008C02D, 0xFF); 667 main_led_timer = TMO_FEVR; 668 return; 669 case main_led_state_on_o: 670 /* 7segに'o'を表示 */ 671 sil_wrb_mem((uint8_t *)0x0008C02D, led_onf[0]); 672 main_led_state = main_led_state_on_n; 673 break; 674 case main_led_state_on_n: 675 /* 7segに'n'を表示 */ 676 sil_wrb_mem((uint8_t *)0x0008C02D, led_onf[1]); 677 main_led_state = main_led_state_space1; 678 break; 679 case main_led_state_off_o: 680 /* 7segに'o'を表示 */ 681 sil_wrb_mem((uint8_t *)0x0008C02D, led_onf[0]); 682 main_led_state = main_led_state_off_f1; 683 break; 684 case main_led_state_off_f1: 685 /* 7segに'f'を表示 */ 686 sil_wrb_mem((uint8_t *)0x0008C02D, led_onf[2]); 687 main_led_state = main_led_state_off_f2; 688 break; 689 case main_led_state_off_f2: 690 /* 7segに'f'を表示 */ 691 sil_wrb_mem((uint8_t *)0x0008C02D, led_onf[2]); 692 main_led_state = main_led_state_space1; 693 break; 694 case main_led_state_space1: 695 /* 7segに' 'を表示 */ 696 sil_wrb_mem((uint8_t *)0x0008C02D, 0xFF); 697 if(temperature_sensor1_data.propertyE0 >= 0){ 698 main_led_state = main_led_state_tmpr_10; 699 } 700 else{ 701 main_led_state = main_led_state_tmpr_minus; 702 } 703 break; 704 case main_led_state_tmpr_minus: 705 /* 7segに'-'を表示 */ 706 sil_wrb_mem((uint8_t *)0x0008C02D, 0xBF); 707 if((temperature_sensor1_data.propertyE0 >= 100) 708 || (temperature_sensor1_data.propertyE0 <= -100)) 709 main_led_state = main_led_state_tmpr_100; 710 else 711 main_led_state = main_led_state_tmpr_10; 712 break; 713 case main_led_state_tmpr_100: 654 switch (main_lcd_state) { 655 case 0: 656 temp1[10] = (temperature_sensor1_data.propertyE0 >= 0) ? ' ' : '-'; 714 657 temp = (temperature_sensor1_data.propertyE0 / 1000) % 10; 715 if (temp < 0)658 if (temp < 0) 716 659 temp = -temp; 717 /* 7segに温度計測値10の位を表示 */ 718 sil_wrb_mem((uint8_t *)0x0008C02D, led_num[temp]); 719 main_led_state = main_led_state_tmpr_10; 720 break; 721 case main_led_state_tmpr_10: 660 temp1[11] = '0' + temp; 722 661 temp = (temperature_sensor1_data.propertyE0 / 100) % 10; 723 if (temp < 0)662 if (temp < 0) 724 663 temp = -temp; 725 /* 7segに温度計測値10の位を表示 */ 726 sil_wrb_mem((uint8_t *)0x0008C02D, led_num[temp]); 727 main_led_state = main_led_state_tmpr_1; 728 break; 729 case main_led_state_tmpr_1: 664 temp1[12] = '0' + temp; 730 665 temp = (temperature_sensor1_data.propertyE0 / 10) % 10; 731 if (temp < 0)666 if (temp < 0) 732 667 temp = -temp; 733 /* 7segに温度計測値10の位を表示 */ 734 sil_wrb_mem((uint8_t *)0x0008C02D, led_num[temp] & (~0x80)); 735 main_led_state = main_led_state_space2; 736 break; 737 case main_led_state_space2: 738 /* 7segに' 'を表示 */ 739 sil_wrb_mem((uint8_t *)0x0008C02D, 0xFF); 740 main_led_state = main_led_state_humid_10; 741 break; 742 case main_led_state_humid_10: 743 temp = humidity_sensor_data.propertyE0 / 10; 744 /* 7segに湿度計測値10の位を表示 */ 745 sil_wrb_mem((uint8_t *)0x0008C02D, led_num[temp]); 746 main_led_state = main_led_state_humid_1; 747 break; 748 case main_led_state_humid_1: 749 temp = humidity_sensor_data.propertyE0 % 10; 750 /* 7segに湿度計測値10の位を表示 */ 751 sil_wrb_mem((uint8_t *)0x0008C02D, led_num[temp] & (~0x80)); 752 main_led_state = main_led_state_space3; 753 break; 754 case main_led_state_space3: 755 /* 7segに' 'を表示 */ 756 if(temperature_sensor1_data.property80 == 0x30) 757 /* 7segに'.'を表示 */ 758 sil_wrb_mem((uint8_t *)0x0008C02D, 0x7F); 759 else 760 /* 7segに' 'を表示 */ 761 sil_wrb_mem((uint8_t *)0x0008C02D, 0xFF); 762 763 if(main_led_update){ 764 main_led_update = false; 765 766 if(temperature_sensor1_data.property80 == 0x30) 767 main_led_state = main_led_state_on_o; 768 else 769 main_led_state = main_led_state_off_o; 770 } 771 else{ 772 main_led_state = main_led_state_idle; 773 main_led_timer = TMO_FEVR; 774 return; 775 } 668 temp1[13] = '0' + temp; 669 temp = (temperature_sensor1_data.propertyE0 / 1) % 10; 670 if (temp < 0) 671 temp = -temp; 672 temp1[15] = '0' + temp; 673 lcd_drawString(&lcd, &temp1[10], X_LINE_HALF_TO_PIX(&lcd, 7), Y_ROW_TO_PIX(&lcd, main_lcd_state + 2), WHITE, BLACK); 674 main_lcd_state++; 675 break; 676 case 1: 677 temp2[10] = (temperature_sensor2_data.propertyE0 >= 0) ? ' ' : '-'; 678 temp = (temperature_sensor2_data.propertyE0 / 1000) % 10; 679 if (temp < 0) 680 temp = -temp; 681 temp2[11] = '0' + temp; 682 temp = (temperature_sensor2_data.propertyE0 / 100) % 10; 683 if (temp < 0) 684 temp = -temp; 685 temp2[12] = '0' + temp; 686 temp = (temperature_sensor2_data.propertyE0 / 10) % 10; 687 if (temp < 0) 688 temp = -temp; 689 temp2[13] = '0' + temp; 690 temp = (temperature_sensor2_data.propertyE0 / 1) % 10; 691 if (temp < 0) 692 temp = -temp; 693 temp2[15] = '0' + temp; 694 lcd_drawString(&lcd, &temp2[10], X_LINE_HALF_TO_PIX(&lcd, 7), Y_ROW_TO_PIX(&lcd, main_lcd_state + 2), WHITE, BLACK); 695 main_lcd_state++; 696 break; 697 case 2: 698 humid[10] = ' '; 699 humid[11] = ' '; 700 temp = (humidity_sensor_data.propertyE0 / 100) % 10; 701 humid[12] = '0' + temp; 702 temp = (humidity_sensor_data.propertyE0 / 10) % 10; 703 humid[13] = '0' + temp; 704 temp = (humidity_sensor_data.propertyE0 / 1) % 10; 705 humid[15] = '0' + temp; 706 lcd_drawString(&lcd, &humid[10], X_LINE_HALF_TO_PIX(&lcd, 7), Y_ROW_TO_PIX(&lcd, main_lcd_state + 2), WHITE, BLACK); 707 main_lcd_state++; 708 break; 709 case 3: 710 case 4: 711 case 5: 712 case 6: 713 case 7: 714 case 8: 715 main_lcd_state++; 716 break; 717 case 9: 718 lcd_display(&lcd); 719 main_lcd_state = 0; 720 break; 721 case 10: 722 lcd_drawString(&lcd, "温度湿度計", X_LINE_TO_PIX(&lcd, 5), Y_ROW_TO_PIX(&lcd, 0), WHITE, BLACK); 723 lcd_drawString(&lcd, temp1, X_LINE_TO_PIX(&lcd, 0), Y_ROW_TO_PIX(&lcd, 0 + 2), WHITE, BLACK); 724 lcd_drawString(&lcd, temp2, X_LINE_TO_PIX(&lcd, 0), Y_ROW_TO_PIX(&lcd, 1 + 2), WHITE, BLACK); 725 lcd_drawString(&lcd, humid, X_LINE_TO_PIX(&lcd, 0), Y_ROW_TO_PIX(&lcd, 2 + 2), WHITE, BLACK); 726 lcd_display(&lcd); 727 main_lcd_state = 0; 776 728 break; 777 729 default: 778 /* 7segに' 'を表示 */ 779 sil_wrb_mem((uint8_t *)0x0008C02D, 0xFF); 780 main_led_state = main_led_state_idle; 781 main_led_timer = TMO_FEVR; 782 return; 783 } 784 785 main_led_timer = 500 * 1000; 730 main_lcd_state = 10; 731 break; 732 } 733 734 /* 100ms後にLCD表示を更新 */ 735 main_lcd_timer = 100 * 1000; 786 736 } 787 737 … … 789 739 * ADC状態変化処理 790 740 */ 791 static void main_ad_change( )741 static void main_ad_change(int no, int adv) 792 742 { 793 743 ER ret; 794 744 T_EDATA *esv; 795 745 uint8_t p_edt[2]; 796 797 p_edt[0] = ((uint16_t)main_ad_tempr) >> 8; 798 p_edt[1] = ((uint16_t)main_ad_tempr) & 0xFF; 746 uint8_t eobj; 747 748 switch (no) { 749 case 1: 750 eobj = TEMP_SENSOR_01_EOBJ; 751 break; 752 case 2: 753 eobj = TEMP_SENSOR_02_EOBJ; 754 break; 755 case 3: 756 eobj = HUMIDITY_SENSOR_EOBJ; 757 break; 758 default: 759 return; 760 } 761 762 p_edt[0] = ((uint16_t)adv) >> 8; 763 p_edt[1] = ((uint16_t)adv) & 0xFF; 799 764 800 765 /* プロパティ設定電文作成 */ 801 ret = ecn_esv_setc(&esv, TEMP_SENSOR_01_EOBJ, 0xE0, 2, p_edt);802 if (ret != E_OK){766 ret = ecn_esv_setc(&esv, eobj, 0xE0, 2, p_edt); 767 if (ret != E_OK) { 803 768 syslog(LOG_ERROR, "ecn_esv_setc"); 804 769 return; … … 806 771 807 772 /* 電文送信 */ 808 ecn_snd_esv(esv); 773 ret = ecn_snd_esv(esv); 774 if (ret != E_OK) { 775 syslog(LOG_ERROR, "ecn_snd_esv"); 776 } 809 777 } 810 778 … … 822 790 823 791 /* 押されて戻った時に処理する */ 824 if (push)792 if (push) 825 793 return; 826 794 827 795 /* 温度計測値 */ 828 796 main_tmpr -= 10; /* - 1.0℃ */ 829 if (main_tmpr < -100) /* -10.0℃までとする */797 if (main_tmpr < -100) /* -10.0℃までとする */ 830 798 main_tmpr = -100; 831 799 … … 835 803 /* プロパティ値書き込み・読み出し要求電文作成 */ 836 804 ret = ecn_esv_set_get(&esv, TEMP_SENSOR_02_EOBJ, 0xE0, 2, p_edt); 837 if (ret != E_OK){805 if (ret != E_OK) { 838 806 syslog(LOG_ERROR, "ecn_esv_setc"); 839 807 return; … … 844 812 /* 書き込みプロパティ追加 */ 845 813 ret = ecn_add_edt(esv, 0x80, 1, p_edt); 846 if (ret) {814 if (ret) { 847 815 syslog(LOG_ERROR, "ecn_add_edt"); 848 816 goto error; … … 851 819 /* プロパティ値書き込み・読み出し要求電文作成:折り返し指定 */ 852 820 ret = ecn_trn_set_get(esv, &trn_pos); 853 if (ret) {821 if (ret) { 854 822 syslog(LOG_ERROR, "ecn_trn_set_get"); 855 823 goto error; … … 858 826 /* 読み出しプロパティ追加 */ 859 827 ret = ecn_add_epc(esv, 0xE0); 860 if (ret) {828 if (ret) { 861 829 syslog(LOG_ERROR, "ecn_add_epc"); 862 830 goto error; … … 865 833 /* プロパティ値書き込み・読み出し要求電文作成:終了指定 */ 866 834 ret = ecn_end_set_get(esv, trn_pos); 867 if (ret) {835 if (ret) { 868 836 syslog(LOG_ERROR, "ecn_end_set_get"); 869 837 goto error; … … 872 840 /* 電文送信 */ 873 841 ret = ecn_snd_esv(esv); 874 if (ret != E_OK){842 if (ret != E_OK) { 875 843 syslog(LOG_ERROR, "ecn_snd_esv"); 876 844 } … … 879 847 /* 領域解放 */ 880 848 ret = ecn_rel_esv(esv); 881 if (ret != E_OK) {849 if (ret != E_OK) { 882 850 syslog(LOG_ERROR, "ecn_rel_esv"); 883 851 } … … 895 863 896 864 /* 押されて戻った時に処理する */ 897 if (push)865 if (push) 898 866 return; 899 867 900 868 /* 温度計測値 */ 901 869 main_tmpr += 10; /* + 1.0℃ */ 902 if (main_tmpr > 400) /* +40.0℃までとする */870 if (main_tmpr > 400) /* +40.0℃までとする */ 903 871 main_tmpr = 400; 904 872 … … 908 876 /* プロパティ値書き込み・読み出し要求電文作成 */ 909 877 ret = ecn_esv_set_get(&esv, TEMP_SENSOR_02_EOBJ, 0xE0, 2, p_edt); 910 if (ret != E_OK){878 if (ret != E_OK) { 911 879 syslog(LOG_ERROR, "ecn_esv_setc"); 912 880 return; … … 917 885 /* 書き込みプロパティ追加 */ 918 886 ret = ecn_add_edt(esv, 0x80, 1, p_edt); 919 if (ret) {887 if (ret) { 920 888 syslog(LOG_ERROR, "ecn_add_edt"); 921 889 goto error; … … 924 892 /* プロパティ値書き込み・読み出し要求電文作成:折り返し指定 */ 925 893 ret = ecn_trn_set_get(esv, &trn_pos); 926 if (ret) {894 if (ret) { 927 895 syslog(LOG_ERROR, "ecn_trn_set_get"); 928 896 goto error; … … 931 899 /* 読み出しプロパティ追加 */ 932 900 ret = ecn_add_epc(esv, 0xE0); 933 if (ret) {901 if (ret) { 934 902 syslog(LOG_ERROR, "ecn_add_epc"); 935 903 goto error; … … 938 906 /* プロパティ値書き込み・読み出し要求電文作成:終了指定 */ 939 907 ret = ecn_end_set_get(esv, trn_pos); 940 if (ret) {908 if (ret) { 941 909 syslog(LOG_ERROR, "ecn_end_set_get"); 942 910 goto error; … … 945 913 /* 電文送信 */ 946 914 ret = ecn_snd_esv(esv); 947 if (ret != E_OK){915 if (ret != E_OK) { 948 916 syslog(LOG_ERROR, "ecn_snd_esv"); 949 917 } … … 952 920 /* 領域解放 */ 953 921 ret = ecn_rel_esv(esv); 954 if (ret != E_OK) {922 if (ret != E_OK) { 955 923 syslog(LOG_ERROR, "ecn_rel_esv"); 956 924 } … … 962 930 static bool_t check_response(uint8_t pdc, uint8_t *p_edt) 963 931 { 964 if ((pdc != 2)932 if ((pdc != 2) 965 933 || (p_edt[0] != ((uint16_t)main_tmpr) >> 8) 966 || (p_edt[1] != ((uint16_t)main_tmpr) & 0xFF)) 967 { 934 || (p_edt[1] != ((uint16_t)main_tmpr) & 0xFF)) { 968 935 syslog(LOG_WARNING, "epc_set_get response NG"); 969 936 return false; -
asp3_tinet_ecnl_rx/trunk/app5_temp_sensor/src/main.c
r359 r364 79 79 80 80 ID ws_api_mailboxid = MAIN_DATAQUEUE; 81 #ifndef NOUSE_MPF_NET_BUF 81 82 ID ws_mempoolid = MPF_NET_BUF_256; 83 #endif 82 84 83 85 #ifdef IF_ETHER_BTUSB … … 111 113 static void main_timeout(); 112 114 115 extern int ntshell_exit; 116 113 117 int uart_read(char *buf, int cnt, void *extobj) 114 118 { 115 return serial_rea_dat(SIO_PORTID, (char *)buf, cnt); 119 struct main_t *obj = (struct main_t *)extobj; 120 int result; 121 ER ret; 122 int timer; 123 124 obj->prev = obj->now; 125 126 /* タイマー取得 */ 127 timer = main_get_timer(); 128 129 /* 待ち */ 130 ret = serial_trea_dat(SIO_PORTID, buf, cnt, timer); 131 if ((ret < 0) && (ret != E_OK) && (ret != E_TMOUT)) { 132 syslog(LOG_NOTICE, "tslp_tsk ret: %s %d", itron_strerror(ret), timer); 133 ntshell_exit = 1; 134 return -1; 135 } 136 result = (int)ret; 137 138 ret = get_tim(&obj->now); 139 if (ret != E_OK) { 140 syslog(LOG_NOTICE, "get_tim ret: %s", itron_strerror(ret)); 141 ntshell_exit = 1; 142 return -1; 143 } 144 145 /* 時間経過 */ 146 int elapse = obj->now - obj->prev; 147 main_progress(elapse); 148 149 /* タイムアウト処理 */ 150 main_timeout(); 151 152 return result; 116 153 } 117 154 … … 119 156 { 120 157 return serial_wri_dat(SIO_PORTID, buf, cnt); 121 }122 123 unsigned char ntstdio_xi(struct ntstdio_t *handle)124 {125 char buf[1];126 if(serial_rea_dat(SIO_PORTID, buf, 1) != 1)127 return -EIO;128 return buf[0];129 }130 131 void ntstdio_xo(struct ntstdio_t *handle, unsigned char c)132 {133 char buf[1];134 buf[0] = c;135 serial_wri_dat(SIO_PORTID, buf, 1);136 158 } 137 159 … … 150 172 main_initialize(); 151 173 152 ntshell_init(&ntshell, uart_read, uart_write, cmd_execute, NULL);174 ntshell_init(&ntshell, uart_read, uart_write, cmd_execute, &main_obj); 153 175 ntshell_set_prompt(&ntshell, "NTShell>"); 154 176 ntshell_execute(&ntshell); … … 168 190 ER ret; 169 191 170 ntshell_task_init(); 192 #ifdef TOPPERS_OMIT_TECS 193 serial_opn_por(SIO_PORTID); 194 #endif 195 serial_ctl_por(SIO_PORTID, IOCTL_FCSND | IOCTL_FCRCV); 196 197 ntshell_task_init(uart_read, uart_write, &main_obj); 171 198 172 199 main_obj.timer = TMO_FEVR; -
asp3_tinet_ecnl_rx/trunk/app5_temp_sensor/src/main.cfg
r342 r364 54 54 INCLUDE("tinet/tinet_asp.cfg"); 55 55 INCLUDE("tinet_main.cfg"); 56 INCLUDE("netinet/ip_igmp.cfg");57 56 58 57 /* DHCP クライアント */ … … 77 76 INCLUDE("ffarch.cfg"); 78 77 78 /* mbed */ 79 INCLUDE("mbed_api.cfg"); 80 79 81 #ifdef IF_ETHER_BTUSB 80 82 INCLUDE("usb_hbth.cfg");
Note:
See TracChangeset
for help on using the changeset viewer.