Serial support bugs fixed.
This commit is contained in:
parent
fad5d2d52d
commit
fe14bb6370
6 changed files with 65 additions and 4 deletions
|
|
@ -188,6 +188,10 @@ int main(void) {
|
|||
serialCfg.flow = JL_SERIAL_FLOW_NONE;
|
||||
serialCfg.unit = 0u;
|
||||
linkOpen = jlSerialOpen(JL_SERIAL_DEFAULT, &serialCfg);
|
||||
if (linkOpen) {
|
||||
// Greet on connect -- also a TX heartbeat that a loopback peer can see.
|
||||
sendBytes(gBanner, (uint16_t)(sizeof(gBanner) - 1u));
|
||||
}
|
||||
|
||||
buildPalette(screen);
|
||||
jlScbSetRange(screen, 0, SURFACE_HEIGHT - 1, 0);
|
||||
|
|
|
|||
33
examples/sertest/sertest.c
Normal file
33
examples/sertest/sertest.c
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
// Minimal headless serial self-test -- NO jlInit (no video/graphics), so it
|
||||
// runs even where the graphics HAL can't (e.g. AROS on the Amiga). Opens the
|
||||
// DEFAULT port at 9600 8N1, sends a banner (TX heartbeat), then echoes every
|
||||
// received byte forever. A host serial peer verifies banner (TX) + echo (RX).
|
||||
#include <joey/serial.h>
|
||||
|
||||
int main(void) {
|
||||
jlSerialConfigT cfg;
|
||||
static const char banner[] = "JLSERTEST-READY\r\n";
|
||||
|
||||
cfg.baud = 9600u;
|
||||
cfg.dataBits = 8u;
|
||||
cfg.stopBits = 1u;
|
||||
cfg.parity = JL_SERIAL_PARITY_NONE;
|
||||
cfg.flow = JL_SERIAL_FLOW_NONE;
|
||||
cfg.unit = 0u;
|
||||
if (!jlSerialOpen(JL_SERIAL_DEFAULT, &cfg)) {
|
||||
return 1;
|
||||
}
|
||||
jlSerialWrite((const uint8_t *)banner, (uint16_t)(sizeof(banner) - 1u));
|
||||
|
||||
for (;;) {
|
||||
uint8_t buf[64];
|
||||
uint16_t n;
|
||||
|
||||
jlSerialPoll();
|
||||
n = jlSerialRead(buf, (uint16_t)sizeof(buf));
|
||||
if (n > 0u) {
|
||||
jlSerialWrite(buf, n);
|
||||
}
|
||||
}
|
||||
/* not reached */
|
||||
}
|
||||
|
|
@ -70,6 +70,8 @@ KEYS_SRC := $(EXAMPLES)/keys/keys.c
|
|||
KEYS_BIN := $(BINDIR)/Keys
|
||||
SERIAL_SRC := $(EXAMPLES)/serial/serial.c
|
||||
SERIAL_BIN := $(BINDIR)/Serial
|
||||
SERTEST_SRC := $(EXAMPLES)/sertest/sertest.c
|
||||
SERTEST_BIN := $(BINDIR)/SerTest
|
||||
SAVE_SRC := $(EXAMPLES)/save/save.c
|
||||
SAVE_BIN := $(BINDIR)/Save
|
||||
JOY_SRC := $(EXAMPLES)/joy/joy.c
|
||||
|
|
@ -137,7 +139,7 @@ DATA_DIR := $(BINDIR)/DATA
|
|||
DATA_FILES := $(DATA_DIR)/test.mod $(DATA_DIR)/test.sfx
|
||||
|
||||
.PHONY: all amiga clean-amiga
|
||||
all amiga: $(LIB) $(HELLO_BIN) $(PATTERN_BIN) $(DRAW_BIN) $(KEYS_BIN) $(SERIAL_BIN) $(SAVE_BIN) $(JOY_BIN) $(SPRITE_BIN) $(AUDIO_BIN) $(UBER_BIN) $(ADV_BIN) $(ADV2_BIN) $(AGI_BIN) $(STAXI_BIN) $(DATA_FILES) $(STAXI_ASSET_DSTS)
|
||||
all amiga: $(LIB) $(HELLO_BIN) $(PATTERN_BIN) $(DRAW_BIN) $(KEYS_BIN) $(SERIAL_BIN) $(SERTEST_BIN) $(SAVE_BIN) $(JOY_BIN) $(SPRITE_BIN) $(AUDIO_BIN) $(UBER_BIN) $(ADV_BIN) $(ADV2_BIN) $(AGI_BIN) $(STAXI_BIN) $(DATA_FILES) $(STAXI_ASSET_DSTS)
|
||||
|
||||
$(BUILD)/obj/core/%.o: $(SRC_CORE)/%.c
|
||||
@mkdir -p $(dir $@)
|
||||
|
|
@ -201,6 +203,10 @@ $(SERIAL_BIN): $(SERIAL_SRC) $(LIB)
|
|||
@mkdir -p $(dir $@)
|
||||
$(AMIGA_CC) $(CFLAGS) $< $(LIB) -o $@ $(LDFLAGS)
|
||||
|
||||
$(SERTEST_BIN): $(SERTEST_SRC) $(LIB)
|
||||
@mkdir -p $(dir $@)
|
||||
$(AMIGA_CC) $(CFLAGS) $< $(LIB) -o $@ $(LDFLAGS)
|
||||
|
||||
$(SAVE_BIN): $(SAVE_SRC) $(LIB)
|
||||
@mkdir -p $(dir $@)
|
||||
$(AMIGA_CC) $(CFLAGS) $< $(LIB) -o $@ $(LDFLAGS)
|
||||
|
|
|
|||
|
|
@ -57,6 +57,8 @@ KEYS_SRC := $(EXAMPLES)/keys/keys.c
|
|||
KEYS_BIN := $(BINDIR)/KEYS.PRG
|
||||
SERIAL_SRC := $(EXAMPLES)/serial/serial.c
|
||||
SERIAL_BIN := $(BINDIR)/SERIAL.PRG
|
||||
SERTEST_SRC := $(EXAMPLES)/sertest/sertest.c
|
||||
SERTEST_BIN := $(BINDIR)/SERTEST.PRG
|
||||
SAVE_SRC := $(EXAMPLES)/save/save.c
|
||||
SAVE_BIN := $(BINDIR)/SAVE.PRG
|
||||
JOY_SRC := $(EXAMPLES)/joy/joy.c
|
||||
|
|
@ -117,7 +119,7 @@ DATA_DIR := $(BINDIR)/DATA
|
|||
DATA_FILES := $(DATA_DIR)/test.mod $(DATA_DIR)/test.sfx
|
||||
|
||||
.PHONY: all atarist clean-atarist
|
||||
all atarist: $(LIB) $(LIBXMP_AR) $(HELLO_BIN) $(PATTERN_BIN) $(DRAW_BIN) $(KEYS_BIN) $(SERIAL_BIN) $(SAVE_BIN) $(JOY_BIN) $(SPRITE_BIN) $(AUDIO_BIN) $(UBER_BIN) $(ADV_BIN) $(ADV2_BIN) $(AGI_BIN) $(STAXI_BIN) $(DATA_FILES) $(STAXI_ASSET_DSTS)
|
||||
all atarist: $(LIB) $(LIBXMP_AR) $(HELLO_BIN) $(PATTERN_BIN) $(DRAW_BIN) $(KEYS_BIN) $(SERIAL_BIN) $(SERTEST_BIN) $(SAVE_BIN) $(JOY_BIN) $(SPRITE_BIN) $(AUDIO_BIN) $(UBER_BIN) $(ADV_BIN) $(ADV2_BIN) $(AGI_BIN) $(STAXI_BIN) $(DATA_FILES) $(STAXI_ASSET_DSTS)
|
||||
|
||||
$(BUILD)/obj/core/%.o: $(SRC_CORE)/%.c
|
||||
@mkdir -p $(dir $@)
|
||||
|
|
@ -188,6 +190,10 @@ $(SERIAL_BIN): $(SERIAL_SRC) $(LIB)
|
|||
@mkdir -p $(dir $@)
|
||||
$(ST_CC) $(CFLAGS) $< $(LIB) $(LIBXMP_AR) -o $@ $(LDFLAGS)
|
||||
|
||||
$(SERTEST_BIN): $(SERTEST_SRC) $(LIB)
|
||||
@mkdir -p $(dir $@)
|
||||
$(ST_CC) $(CFLAGS) $< $(LIB) $(LIBXMP_AR) -o $@ $(LDFLAGS)
|
||||
|
||||
$(SAVE_BIN): $(SAVE_SRC) $(LIB)
|
||||
@mkdir -p $(dir $@)
|
||||
$(ST_CC) $(CFLAGS) $< $(LIB) $(LIBXMP_AR) -o $@ $(LDFLAGS)
|
||||
|
|
|
|||
|
|
@ -53,6 +53,8 @@ KEYS_SRC := $(EXAMPLES)/keys/keys.c
|
|||
KEYS_BIN := $(BINDIR)/KEYS.EXE
|
||||
SERIAL_SRC := $(EXAMPLES)/serial/serial.c
|
||||
SERIAL_BIN := $(BINDIR)/SERIAL.EXE
|
||||
SERTEST_SRC := $(EXAMPLES)/sertest/sertest.c
|
||||
SERTEST_BIN := $(BINDIR)/SERTEST.EXE
|
||||
SAVE_SRC := $(EXAMPLES)/save/save.c
|
||||
SAVE_BIN := $(BINDIR)/SAVE.EXE
|
||||
JOY_SRC := $(EXAMPLES)/joy/joy.c
|
||||
|
|
@ -132,7 +134,7 @@ STAXI_ASSET_DSTS += $(STAXI_SPC_RUN)
|
|||
MKSTLEVEL_BIN := $(REPO_DIR)/build/tools/mkstlevel
|
||||
|
||||
.PHONY: all dos clean-dos
|
||||
all dos: $(LIB) $(LIBXMP_AR) $(HELLO_BIN) $(PATTERN_BIN) $(DRAW_BIN) $(KEYS_BIN) $(SERIAL_BIN) $(SAVE_BIN) $(JOY_BIN) $(SPRITE_BIN) $(AUDIO_BIN) $(UBER_BIN) $(ADV_BIN) $(ADV2_BIN) $(AGI_BIN) $(STAXI_BIN) $(DATA_FILES) $(STAXI_ASSET_DSTS)
|
||||
all dos: $(LIB) $(LIBXMP_AR) $(HELLO_BIN) $(PATTERN_BIN) $(DRAW_BIN) $(KEYS_BIN) $(SERIAL_BIN) $(SERTEST_BIN) $(SAVE_BIN) $(JOY_BIN) $(SPRITE_BIN) $(AUDIO_BIN) $(UBER_BIN) $(ADV_BIN) $(ADV2_BIN) $(AGI_BIN) $(STAXI_BIN) $(DATA_FILES) $(STAXI_ASSET_DSTS)
|
||||
|
||||
$(BUILD)/obj/core/%.o: $(SRC_CORE)/%.c
|
||||
@mkdir -p $(dir $@)
|
||||
|
|
@ -191,6 +193,11 @@ $(SERIAL_BIN): $(SERIAL_SRC) $(LIB)
|
|||
$(DOS_CC) $(CFLAGS) $< $(LIB) $(LIBXMP_AR) -o $@
|
||||
$(DOS_EMBED_DPMI) $@
|
||||
|
||||
$(SERTEST_BIN): $(SERTEST_SRC) $(LIB)
|
||||
@mkdir -p $(dir $@)
|
||||
$(DOS_CC) $(CFLAGS) $< $(LIB) $(LIBXMP_AR) -o $@
|
||||
$(DOS_EMBED_DPMI) $@
|
||||
|
||||
$(SAVE_BIN): $(SAVE_SRC) $(LIB)
|
||||
@mkdir -p $(dir $@)
|
||||
$(DOS_CC) $(CFLAGS) $< $(LIB) $(LIBXMP_AR) -o $@
|
||||
|
|
|
|||
|
|
@ -57,6 +57,7 @@ PATTERN_SRC := $(EXAMPLES)/pattern/pattern.c
|
|||
DRAW_SRC := $(EXAMPLES)/draw/draw.c
|
||||
KEYS_SRC := $(EXAMPLES)/keys/keys.c
|
||||
SERIAL_SRC := $(EXAMPLES)/serial/serial.c
|
||||
SERTEST_SRC := $(EXAMPLES)/sertest/sertest.c
|
||||
SAVE_SRC := $(EXAMPLES)/save/save.c
|
||||
JOY_SRC := $(EXAMPLES)/joy/joy.c
|
||||
SPRITE_SRC := $(EXAMPLES)/sprite/sprite.c
|
||||
|
|
@ -89,7 +90,7 @@ all iigs: iigs-lib iigs-clang-smoke
|
|||
# NTP replayer from disk (see the $(BINDIR)/AUDIO rule). Leaving them
|
||||
# out made `make iigs` silently test 8-day-old STAXI binaries against
|
||||
# new assets (the 2026-07-20 gear-out/no-flame reports).
|
||||
iigs-examples: $(BINDIR)/PATTERN $(BINDIR)/DRAW $(BINDIR)/KEYS $(BINDIR)/SERIAL $(BINDIR)/SAVE $(BINDIR)/JOY \
|
||||
iigs-examples: $(BINDIR)/PATTERN $(BINDIR)/DRAW $(BINDIR)/KEYS $(BINDIR)/SERIAL $(BINDIR)/SERTEST $(BINDIR)/SAVE $(BINDIR)/JOY \
|
||||
$(BINDIR)/SPRITE $(BINDIR)/UBER $(BINDIR)/ADV $(BINDIR)/ADV2 \
|
||||
$(BINDIR)/AGI $(BINDIR)/STAXI $(BINDIR)/AUDIO
|
||||
|
||||
|
|
@ -198,6 +199,10 @@ $(BINDIR)/SERIAL: $(SERIAL_SRC) $(LIB) $(IIGS_CLANG_BUILD)
|
|||
@mkdir -p $(dir $@) $(DEP_DIR)
|
||||
$(IIGS_CLANG_BUILD) -M $(DEP_DIR)/SERIAL.d $(INCLUDES) -o $@ $(SERIAL_SRC) $(LIB)
|
||||
|
||||
$(BINDIR)/SERTEST: $(SERTEST_SRC) $(LIB) $(IIGS_CLANG_BUILD)
|
||||
@mkdir -p $(dir $@) $(DEP_DIR)
|
||||
$(IIGS_CLANG_BUILD) -M $(DEP_DIR)/SERTEST.d $(INCLUDES) -o $@ $(SERTEST_SRC) $(LIB)
|
||||
|
||||
$(BINDIR)/SAVE: $(SAVE_SRC) $(LIB) $(IIGS_CLANG_BUILD)
|
||||
@mkdir -p $(dir $@) $(DEP_DIR)
|
||||
$(IIGS_CLANG_BUILD) -M $(DEP_DIR)/SAVE.d $(INCLUDES) -o $@ $(SAVE_SRC) $(LIB)
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue