Skip to content

Custom IP/Port fixes for xsbug on Windows #1376

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 8 commits into
base: public
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions tools/mcconfig/make.esp.mk
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down Expand Up @@ -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")
Expand All @@ -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")
Expand Down
3 changes: 2 additions & 1 deletion tools/mcconfig/make.esp32.mk
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down
3 changes: 2 additions & 1 deletion tools/mcconfig/make.lin.mk
Original file line number Diff line number Diff line change
Expand Up @@ -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 &)
Expand Down Expand Up @@ -146,6 +146,7 @@ VPATH += $(XS_DIRECTORIES)

XSBUG_HOST ?= localhost
XSBUG_PORT ?= 5002
XSBUG_LOG_PORT ?= 5002

.PHONY: all build clean xsbug

Expand Down
3 changes: 2 additions & 1 deletion tools/mcconfig/make.mac.mk
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -129,6 +129,7 @@ VPATH += $(XS_DIRECTORIES)

XSBUG_HOST ?= localhost
XSBUG_PORT ?= 5002
XSBUG_LOG_PORT ?= 5002

.PHONY: all build clean xsbug

Expand Down
4 changes: 2 additions & 2 deletions tools/mcconfig/make.nrf52.mk
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down
3 changes: 2 additions & 1 deletion tools/mcconfig/make.pico.mk
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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")
Expand Down
2 changes: 1 addition & 1 deletion tools/mcconfig/nmake.esp.mk
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
6 changes: 2 additions & 4 deletions tools/mcconfig/nmake.esp32.mk
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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)\.
Expand Down
2 changes: 1 addition & 1 deletion tools/mcconfig/nmake.nrf52.mk
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
23 changes: 21 additions & 2 deletions tools/mcconfig/nmake.win.mk
Original file line number Diff line number Diff line change
Expand Up @@ -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 )

Expand Down
2 changes: 1 addition & 1 deletion tools/xsbug-log/xsbug-log.js
Original file line number Diff line number Diff line change
Expand Up @@ -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;

Expand Down