diff --git a/tools/mcconfig/make.esp.mk b/tools/mcconfig/make.esp.mk index 1681da85dd..259edc109b 100644 --- a/tools/mcconfig/make.esp.mk +++ b/tools/mcconfig/make.esp.mk @@ -79,6 +79,7 @@ DEBUG_IP ?= # xsbug defaults XSBUG_HOST ?= localhost XSBUG_PORT ?= 5002 +XSBUG_LOG_PORT ?= 5002 NEWLIBC_PATH = $(ESPRESSIF_SDK_ROOT)/components/newlib/newlib/lib/libc.a @@ -286,7 +287,7 @@ ifeq ($(DEBUG),1) START_XSBUG = ifeq ($(HOST_OS),Darwin) ifeq ("$(XSBUG_LAUNCH)","log") - CONNECT_XSBUG = export XSBUG_PORT=$(XSBUG_PORT) && export XSBUG_HOST=$(XSBUG_HOST) && cd $(MODDABLE)/tools/xsbug-log && node xsbug-log $(LOG_LAUNCH) serial2xsbug $(UPLOAD_PORT) $(DEBUGGER_SPEED) 8N1 -elf $(TMP_DIR)/main.elf -bin $(TOOLS_BIN) + CONNECT_XSBUG = export XSBUG_LOG_PORT=$(XSBUG_LOG_PORT) && export XSBUG_PORT=$(XSBUG_PORT) && export XSBUG_HOST=$(XSBUG_HOST) && cd $(MODDABLE)/tools/xsbug-log && node xsbug-log $(LOG_LAUNCH) serial2xsbug $(UPLOAD_PORT) $(DEBUGGER_SPEED) 8N1 -elf $(TMP_DIR)/main.elf -bin $(TOOLS_BIN) else CONNECT_XSBUG = export XSBUG_PORT=$(XSBUG_PORT) && export XSBUG_HOST=$(XSBUG_HOST) && serial2xsbug $(UPLOAD_PORT) $(DEBUGGER_SPEED) 8N1 -elf $(TMP_DIR)/main.elf -bin $(TOOLS_BIN) ifeq ("$(XSBUG_LAUNCH)","app") @@ -295,7 +296,7 @@ ifeq ($(DEBUG),1) endif else ifeq ("$(XSBUG_LAUNCH)","log") - CONNECT_XSBUG = export XSBUG_PORT=$(XSBUG_PORT) && export XSBUG_HOST=$(XSBUG_HOST) && cd $(MODDABLE)/tools/xsbug-log && node xsbug-log $(LOG_LAUNCH) serial2xsbug $(UPLOAD_PORT) $(DEBUGGER_SPEED) 8N1 + CONNECT_XSBUG = export XSBUG_LOG_PORT=$(XSBUG_LOG_PORT) && export XSBUG_PORT=$(XSBUG_PORT) && export XSBUG_HOST=$(XSBUG_HOST) && cd $(MODDABLE)/tools/xsbug-log && node xsbug-log $(LOG_LAUNCH) serial2xsbug $(UPLOAD_PORT) $(DEBUGGER_SPEED) 8N1 else CONNECT_XSBUG = export XSBUG_PORT=$(XSBUG_PORT) && export XSBUG_HOST=$(XSBUG_HOST) && serial2xsbug $(UPLOAD_PORT) $(DEBUGGER_SPEED) 8N1 ifeq ("$(XSBUG_LAUNCH)","app") diff --git a/tools/mcconfig/make.esp32.mk b/tools/mcconfig/make.esp32.mk index c12595adfe..03c261ba2c 100644 --- a/tools/mcconfig/make.esp32.mk +++ b/tools/mcconfig/make.esp32.mk @@ -24,6 +24,7 @@ DEBUGGER_SPEED ?= 460800 XSBUG_HOST ?= localhost XSBUG_PORT ?= 5002 +XSBUG_LOG_PORT ?= 5002 USE_USB ?= 0 # USE_USB = 1 - TinyUSB - uses a custom VID/PID @@ -514,7 +515,7 @@ ifeq ($(DEBUG),1) ifeq ("$(XSBUG_LAUNCH)","log") DO_LAUNCH = echo ; echo $(BEFORE_DEBUGGING_MESSAGE); echo ; \ - XSBUG_PORT=$(XSBUG_PORT) XSBUG_HOST=$(XSBUG_HOST) \ + XSBUG_LOG_PORT=$(XSBUG_LOG_PORT) XSBUG_PORT=$(XSBUG_PORT) XSBUG_HOST=$(XSBUG_HOST) \ cd $(MODDABLE)/tools/xsbug-log && node xsbug-log \ serial2xsbug `cat $(PORT_NAME_PATH)` $(DEBUGGER_SPEED) 8N1 endif diff --git a/tools/mcconfig/make.lin.mk b/tools/mcconfig/make.lin.mk index fed6302919..7b154d2706 100644 --- a/tools/mcconfig/make.lin.mk +++ b/tools/mcconfig/make.lin.mk @@ -30,7 +30,7 @@ KILL_SIMULATOR = ifeq ($(DEBUG),1) ifeq ("$(XSBUG_LAUNCH)","log") # START_SIMULATOR = export DISPLAY=:0.0 && export XSBUG_PORT=$(XSBUG_PORT) && export XSBUG_HOST=$(XSBUG_HOST) && cd $(MODDABLE)/tools/xsbug-log && node xsbug-log $(SIMULATOR) $(SIMULATORS) $(BIN_DIR)/mc.so - START_SIMULATOR = export DISPLAY=:2.0 && export XSBUG_PORT=$(XSBUG_PORT) && export XSBUG_HOST=$(XSBUG_HOST) && cd $(MODDABLE)/tools/xsbug-log && node xsbug-log $(SIMULATOR) $(SIMULATORS) $(BIN_DIR)/mc.so + START_SIMULATOR = export DISPLAY=:2.0 && export XSBUG_LOG_PORT=$(XSBUG_LOG_PORT) && export XSBUG_PORT=$(XSBUG_PORT) && export XSBUG_HOST=$(XSBUG_HOST) && cd $(MODDABLE)/tools/xsbug-log && node xsbug-log $(SIMULATOR) $(SIMULATORS) $(BIN_DIR)/mc.so else ifeq ("$(XSBUG_LAUNCH)","app") START_XSBUG = $(shell nohup $(BUILD_DIR)/bin/lin/release/xsbug > /dev/null 2>&1 &) @@ -146,6 +146,7 @@ VPATH += $(XS_DIRECTORIES) XSBUG_HOST ?= localhost XSBUG_PORT ?= 5002 +XSBUG_LOG_PORT ?= 5002 .PHONY: all build clean xsbug diff --git a/tools/mcconfig/make.mac.mk b/tools/mcconfig/make.mac.mk index 9775345671..ccf6749ef7 100644 --- a/tools/mcconfig/make.mac.mk +++ b/tools/mcconfig/make.mac.mk @@ -23,7 +23,7 @@ KILL_SIMULATOR = osascript -e 'quit app "mcsim"' ifeq ($(DEBUG),1) START_XSBUG = ifeq ("$(XSBUG_LAUNCH)","log") - START_SIMULATOR = export XSBUG_PORT=$(XSBUG_PORT) && export XSBUG_HOST=$(XSBUG_HOST) && cd $(MODDABLE)/tools/xsbug-log && node xsbug-log open -a $(SIMULATOR) $(SIMULATORS) $(BIN_DIR)/mc.so + START_SIMULATOR = export XSBUG_LOG_PORT=$(XSBUG_LOG_PORT) && export XSBUG_PORT=$(XSBUG_PORT) && export XSBUG_HOST=$(XSBUG_HOST) && cd $(MODDABLE)/tools/xsbug-log && node xsbug-log open -a $(SIMULATOR) $(SIMULATORS) $(BIN_DIR)/mc.so else ifeq ("$(XSBUG_LAUNCH)","app") START_XSBUG = open -a $(BUILD_DIR)/bin/mac/release/xsbug.app -g endif @@ -129,6 +129,7 @@ VPATH += $(XS_DIRECTORIES) XSBUG_HOST ?= localhost XSBUG_PORT ?= 5002 +XSBUG_LOG_PORT ?= 5002 .PHONY: all build clean xsbug diff --git a/tools/mcconfig/make.nrf52.mk b/tools/mcconfig/make.nrf52.mk index ce6fd4d32c..14db5f0394 100644 --- a/tools/mcconfig/make.nrf52.mk +++ b/tools/mcconfig/make.nrf52.mk @@ -76,7 +76,7 @@ ifeq ($(HOST_OS),Darwin) UF2_VOLUME_PATH = /Volumes/$(UF2_VOLUME_NAME) SET_PROGRAMMING_MODE = $(PLATFORM_DIR)/config/programmingMode $(M4_VID) $(M4_PID) $(UF2_VOLUME_PATH) - START_NODE = cd $(MODDABLE)/tools/xsbug-log && XSBUG_PORT=$(XSBUG_PORT) XSBUG_HOST=$(XSBUG_HOST) node xsbug-log + START_NODE = cd $(MODDABLE)/tools/xsbug-log && XSBUG_LOG_PORT=$(XSBUG_LOG_PORT) XSBUG_PORT=$(XSBUG_PORT) XSBUG_HOST=$(XSBUG_HOST) node xsbug-log ifeq ($(USE_USB),1) START_SERIAL2XSBUG = serial2xsbug $(M4_VID):$(M4_PID) 921600 8N1 @@ -129,7 +129,7 @@ else else # not usb ifeq ($(XSBUG_LOG),1) - CONNECT_XSBUG = XSBUG_PORT=$(XSBUG_PORT) XSBUG_HOST=$(XSBUG_HOST) cd $(MODDABLE)/tools/xsbug-log && node xsbug-log $(MODDABLE_TOOLS_DIR)/serial2xsbug $(DEBUGGER_PORT) $(DEBUGGER_SPEED) 8N1 + CONNECT_XSBUG = XSBUG_LOG_PORT=$(XSBUG_LOG_PORT) XSBUG_PORT=$(XSBUG_PORT) XSBUG_HOST=$(XSBUG_HOST) cd $(MODDABLE)/tools/xsbug-log && node xsbug-log $(MODDABLE_TOOLS_DIR)/serial2xsbug $(DEBUGGER_PORT) $(DEBUGGER_SPEED) 8N1 else CONNECT_XSBUG = XSBUG_PORT=$(XSBUG_PORT) XSBUG_HOST=$(XSBUG_HOST) $(MODDABLE_TOOLS_DIR)/serial2xsbug $(DEBUGGER_PORT) $(DEBUGGER_SPEED) 8N1 endif diff --git a/tools/mcconfig/make.pico.mk b/tools/mcconfig/make.pico.mk index 2cf3c45dcc..e08833d943 100644 --- a/tools/mcconfig/make.pico.mk +++ b/tools/mcconfig/make.pico.mk @@ -39,6 +39,7 @@ DEBUGGER_PORT ?= /dev/cu.SLAB_USBtoUART XSBUG_HOST ?= localhost XSBUG_PORT ?= 5002 +XSBUG_LOG_PORT ?= 5002 UF2_VOLUME_NAME ?= RPI-RP2 PICO_VID ?= 2e8a @@ -79,7 +80,7 @@ ifeq ($(HOST_OS),Darwin) ifeq ($(DEBUG),1) ifeq ("$(XSBUG_LAUNCH)","log") - CONNECT_XSBUG=@echo "Connect to xsbug-log @ $(PICO_VID):$(PICO_PID)." && export XSBUG_PORT=$(XSBUG_PORT) && export XSBUG_HOST=$(XSBUG_HOST) && cd $(MODDABLE)/tools/xsbug-log && node xsbug-log serial2xsbug $(PICO_VID):$(PICO_PID) $(DEBUGGER_SPEED) 8N1 + CONNECT_XSBUG=@echo "Connect to xsbug-log @ $(PICO_VID):$(PICO_PID)." && export XSBUG_LOG_PORT=$(XSBUG_LOG_PORT) && export XSBUG_PORT=$(XSBUG_PORT) && export XSBUG_HOST=$(XSBUG_HOST) && cd $(MODDABLE)/tools/xsbug-log && node xsbug-log serial2xsbug $(PICO_VID):$(PICO_PID) $(DEBUGGER_SPEED) 8N1 else CONNECT_XSBUG=@echo "Connect to xsbug @ $(PICO_VID):$(PICO_PID)." ; export XSBUG_PORT=$(XSBUG_PORT) ; export XSBUG_HOST=$(XSBUG_HOST) ; serial2xsbug $(PICO_VID):$(PICO_PID) $(DEBUGGER_SPEED) 8N1 ifeq ("$(XSBUG_LAUNCH)","app") diff --git a/tools/mcconfig/nmake.esp.mk b/tools/mcconfig/nmake.esp.mk index 31737586da..64ebbf4384 100644 --- a/tools/mcconfig/nmake.esp.mk +++ b/tools/mcconfig/nmake.esp.mk @@ -55,7 +55,7 @@ UPLOAD_VERB = -v !ENDIF !IF "$(XSBUG_LOG)"=="1" -START_SERIAL2XSBUG= echo "Starting serial2xsbug..." && set "XSBUG_PORT=$(XSBUG_PORT)" && set "XSBUG_HOST=$(XSBUG_HOST)" && cd $(MODDABLE)\tools\xsbug-log && node xsbug-log $(BUILD_DIR)\bin\win\release\serial2xsbug $(UPLOAD_PORT) $(DEBUGGER_SPEED) 8N1 -elf $(TMP_DIR)\main.elf +START_SERIAL2XSBUG= echo "Starting serial2xsbug..." && set "XSBUG_LOG_PORT=$(XSBUG_LOG_PORT)" && set "XSBUG_PORT=$(XSBUG_PORT)" && set "XSBUG_HOST=$(XSBUG_HOST)" && cd $(MODDABLE)\tools\xsbug-log && node xsbug-log $(BUILD_DIR)\bin\win\release\serial2xsbug $(UPLOAD_PORT) $(DEBUGGER_SPEED) 8N1 -elf $(TMP_DIR)\main.elf START_XSBUG= !ELSE START_SERIAL2XSBUG= echo "Starting serial2xsbug..." && set "XSBUG_PORT=$(XSBUG_PORT)" && set "XSBUG_HOST=$(XSBUG_HOST)" && $(BUILD_DIR)\bin\win\release\serial2xsbug $(UPLOAD_PORT) $(DEBUGGER_SPEED) 8N1 -elf $(TMP_DIR)\main.elf diff --git a/tools/mcconfig/nmake.esp32.mk b/tools/mcconfig/nmake.esp32.mk index 7513e601eb..df6494acb8 100644 --- a/tools/mcconfig/nmake.esp32.mk +++ b/tools/mcconfig/nmake.esp32.mk @@ -172,9 +172,9 @@ KILL_SERIAL2XSBUG= -tasklist /nh /fi "imagename eq serial2xsbug.exe" | (find /i !IF "$(XSBUG_LOG)"=="1" !IF "$(USE_USB)"=="0" -START_SERIAL2XSBUG = echo Launching app... & set "XSBUG_PORT=$(XSBUG_PORT)" && set "XSBUG_HOST=$(XSBUG_HOST)" && cd $(MODDABLE)\tools\xsbug-log && node xsbug-log start /B $(BUILD_DIR)\bin\win\release\serial2xsbug $(PORT_TO_USE) $(DEBUGGER_SPEED) 8N1 +START_SERIAL2XSBUG = echo Launching app... && set "XSBUG_LOG_PORT=$(XSBUG_LOG_PORT)" && set "XSBUG_PORT=$(XSBUG_PORT)" && set "XSBUG_HOST=$(XSBUG_HOST)" && cd $(MODDABLE)\tools\xsbug-log && node xsbug-log start /B $(BUILD_DIR)\bin\win\release\serial2xsbug $(PORT_TO_USE) $(DEBUGGER_SPEED) 8N1 !ELSE -START_SERIAL2XSBUG = echo Launching app... && set "XSBUG_PORT=$(XSBUG_PORT)" && set "XSBUG_HOST=$(XSBUG_HOST)" && cd $(MODDABLE)\tools\xsbug-log && node xsbug-log start /B $(BUILD_DIR)\bin\win\release\serial2xsbug $(USB_VENDOR_ID):$(USB_PRODUCT_ID) $(DEBUGGER_SPEED) 8N1 +START_SERIAL2XSBUG = echo Launching app... && set "XSBUG_LOG_PORT=$(XSBUG_LOG_PORT)" && set "XSBUG_PORT=$(XSBUG_PORT)" && set "XSBUG_HOST=$(XSBUG_HOST)" && cd $(MODDABLE)\tools\xsbug-log && node xsbug-log start /B $(BUILD_DIR)\bin\win\release\serial2xsbug $(USB_VENDOR_ID):$(USB_PRODUCT_ID) $(DEBUGGER_SPEED) 8N1 !ENDIF START_XSBUG = !ENDIF @@ -547,8 +547,6 @@ release: precursor python %IDF_PATH%\tools\idf.py $(IDF_PY_LOG_FLAG) $(PORT_COMMAND) -b $(UPLOAD_SPEED) monitor prepare: - $(KILL_SERIAL2XSBUG) - $(START_XSBUG) if exist $(BLD_DIR)\xs_esp32.elf del $(BLD_DIR)\xs_esp32.elf if not exist $(BLD_DIR) mkdir $(BLD_DIR) copy $(BIN_DIR)\xs_$(ESP32_SUBCLASS).a $(BLD_DIR)\. diff --git a/tools/mcconfig/nmake.nrf52.mk b/tools/mcconfig/nmake.nrf52.mk index 1eecb8a473..dffc5dc64c 100644 --- a/tools/mcconfig/nmake.nrf52.mk +++ b/tools/mcconfig/nmake.nrf52.mk @@ -108,7 +108,7 @@ WAIT_FOR_NEW_SERIAL = $(PLATFORM_DIR)\config\waitForNewSerialWindows.bat 1 $(UF2 NORESTART = !IF "$(XSBUG_LOG)"=="1" DO_XSBUG = -SERIAL_2_XSBUG = echo Starting serial2xsbug. Type Ctrl-C twice after debugging app. && cd $(MODDABLE)\tools\xsbug-log && set "XSBUG_PORT=$(XSBUG_PORT)" && set "XSBUG_HOST=$(XSBUG_HOST)" && node xsbug-log start /B $(MODDABLE_TOOLS_DIR)\serial2xsbug $(M4_VID):$(M4_PID) $(DEBUGGER_SPEED) 8N1 +SERIAL_2_XSBUG = echo Starting serial2xsbug. Type Ctrl-C twice after debugging app. && cd $(MODDABLE)\tools\xsbug-log && set "XSBUG_LOG_PORT=$(XSBUG_LOG_PORT)" && set "XSBUG_PORT=$(XSBUG_PORT)" && set "XSBUG_HOST=$(XSBUG_HOST)" && node xsbug-log start /B $(MODDABLE_TOOLS_DIR)\serial2xsbug $(M4_VID):$(M4_PID) $(DEBUGGER_SPEED) 8N1 !ELSE DO_XSBUG = tasklist /nh /fi "imagename eq xsbug.exe" | find /i "xsbug.exe" > nul || (start $(MODDABLE_TOOLS_DIR)\xsbug.exe) SERIAL_2_XSBUG = echo Starting serial2xsbug. Type Ctrl-C twice after debugging app. && set "XSBUG_PORT=$(XSBUG_PORT)" && set "XSBUG_HOST=$(XSBUG_HOST)" && $(MODDABLE_TOOLS_DIR)\serial2xsbug $(M4_VID):$(M4_PID) $(DEBUGGER_SPEED) 8N1 -dtr diff --git a/tools/mcconfig/nmake.win.mk b/tools/mcconfig/nmake.win.mk index be90e9b00c..c8fff7691a 100644 --- a/tools/mcconfig/nmake.win.mk +++ b/tools/mcconfig/nmake.win.mk @@ -23,20 +23,39 @@ !CMDSWITCHES +S !ENDIF + !IF "$(DEBUG)"=="1" !IF "$(XSBUG_LOG)"=="1" START_XSBUG = !ELSE +!IF "$(XSBUG_HOST)"=="localhost" START_XSBUG = tasklist /nh /fi "imagename eq xsbug.exe" | find /i "xsbug.exe" > nul || (start $(BUILD_DIR)\bin\win\release\xsbug.exe) +!ELSE +START_XSBUG = echo "mcconfig -x" is remote ($(XSBUG_HOST):$(XSBUG_PORT)), not starting xsbug +!ENDIF !ENDIF !ELSE START_XSBUG = !ENDIF +!IFNDEF XSBUG_PORT +XSBUG_PORT = 5002 +!ENDIF +!IFNDEF XSBUG_LOG_PORT +XSBUG_LOG_PORT = 5002 +!ENDIF +!IFNDEF XSBUG_HOST +XSBUG_HOST = localhost +!ENDIF + !IF "$(XSBUG_LOG)"=="1" -START_COMMAND = cd $(MODDABLE)\tools\xsbug-log && node xsbug-log start /B $(SIMULATOR) $(SIMULATORS) $(BIN_DIR)\mc.dll +!IF "$(XSBUG_HOST)"=="localhost" +START_COMMAND = cmd /c "set "XSBUG_LOG_PORT=$(XSBUG_LOG_PORT)" && set "XSBUG_PORT=$(XSBUG_PORT)" && set "XSBUG_HOST=$(XSBUG_HOST)" && cd $(MODDABLE)\tools\xsbug-log && node xsbug-log start /B $(SIMULATOR) $(SIMULATORS) $(BIN_DIR)\mc.dll" +!ELSE +START_COMMAND = cmd /c "set "XSBUG_PORT=$(XSBUG_PORT)" && set "XSBUG_HOST=$(XSBUG_HOST)" && start $(SIMULATOR) $(SIMULATORS) $(BIN_DIR)\mc.dll" +!ENDIF !ELSE -START_COMMAND = start $(SIMULATOR) $(SIMULATORS) $(BIN_DIR)\mc.dll +START_COMMAND = cmd /c "set "XSBUG_PORT=$(XSBUG_PORT)" && set "XSBUG_HOST=$(XSBUG_HOST)" && start $(SIMULATOR) $(SIMULATORS) $(BIN_DIR)\mc.dll" !ENDIF KILL_COMMAND = taskkill /im mcsim.exe /F 2> nul || (call ) diff --git a/tools/xsbug-log/xsbug-log.js b/tools/xsbug-log/xsbug-log.js index dd778b74a8..b85baccc37 100644 --- a/tools/xsbug-log/xsbug-log.js +++ b/tools/xsbug-log/xsbug-log.js @@ -39,7 +39,7 @@ catch (e) { process.exit(); } -const portIn = 5002; +const portIn = process.env.XSBUG_LOG_PORT ?? 5002; let connections = 0; let autoexit = false;