mirror of
https://github.com/romychs/ESPKit.git
synced 2025-04-20 19:01:53 +03:00
wterm first beta release
This commit is contained in:
parent
52a14654c8
commit
0e1722207b
@ -282,13 +282,18 @@ _FIND_FIRST
|
||||
LD HL, ZIP_FILE_NAME
|
||||
LD BC,9
|
||||
LDIR
|
||||
POP DE
|
||||
POP DE
|
||||
JP NORM_EXIT
|
||||
|
||||
|
||||
_SCANKEY
|
||||
XOR A
|
||||
JP NORM_EXIT
|
||||
POP BC
|
||||
POP HL
|
||||
LD A,1
|
||||
AND A
|
||||
LD E, 'x'
|
||||
LD B, KB_ALT | KB_L_ALT
|
||||
RET
|
||||
|
||||
|
||||
; Выходные значения:
|
||||
|
@ -41,3 +41,12 @@ DSS_VMOD_G640 EQU 0x82 ; graphics 640x256, 16 colors
|
||||
E_FILE_EXISTS EQU 7
|
||||
E_FILE_NOT_FOUND EQU 3
|
||||
|
||||
; Keyboard Shift key status bits
|
||||
KB_R_ALT EQU 0x01
|
||||
KB_R_CTRL EQU 0x02
|
||||
KB_L_ALT EQU 0x04
|
||||
KB_L_CTRL EQU 0x08
|
||||
KB_ALT EQU 0x10
|
||||
KB_CTRL EQU 0x20
|
||||
KB_R_SHIFT EQU 0x40
|
||||
KB_L_SHIFT EQU 0x80
|
||||
|
@ -202,9 +202,10 @@ UART_WAIT_TR
|
||||
; Wait, without open/close ISA
|
||||
;
|
||||
UART_WAIT_TR_INT
|
||||
PUSH AF, BC, HL
|
||||
LD BC, 500
|
||||
LD HL, REG_LSR
|
||||
PUSH BC, HL, DE
|
||||
LD D,A
|
||||
LD BC, 500
|
||||
LD HL, REG_LSR
|
||||
WAIT_TR_BZY
|
||||
LD A,(HL)
|
||||
AND A, LSR_THRE
|
||||
@ -216,7 +217,8 @@ WAIT_TR_BZY
|
||||
JR NZ,WAIT_TR_BZY
|
||||
SCF
|
||||
WAIT_TR_RDY
|
||||
POP HL, BC, AF
|
||||
LD A,D
|
||||
POP DE, HL, BC
|
||||
RET
|
||||
|
||||
; ------------------------------------------------------
|
||||
@ -225,12 +227,14 @@ WAIT_TR_RDY
|
||||
; Out: CF=1 - Not ready
|
||||
; ------------------------------------------------------
|
||||
UART_TX_BYTE
|
||||
PUSH DE
|
||||
CALL UART_WAIT_TR
|
||||
JP C, UTB_NOT_R
|
||||
LD HL, REG_THR
|
||||
CALL UART_WRITE
|
||||
XOR A
|
||||
UTB_NOT_R
|
||||
POP DE
|
||||
RET
|
||||
|
||||
; ------------------------------------------------------
|
||||
|
@ -61,6 +61,7 @@ START
|
||||
IF DEBUG == 1
|
||||
; LD IX,CMD_LINE1
|
||||
LD SP, STACK_TOP
|
||||
JP MAIN_LOOP
|
||||
ENDIF
|
||||
|
||||
CALL ISA.ISA_RESET
|
||||
@ -83,8 +84,8 @@ START
|
||||
|
||||
CALL WIFI.UART_EMPTY_RS
|
||||
|
||||
XOR A
|
||||
LD (Q_POS),A
|
||||
; XOR A
|
||||
; LD (Q_POS),A
|
||||
|
||||
MAIN_LOOP
|
||||
; handle key pressed
|
||||
@ -92,65 +93,67 @@ MAIN_LOOP
|
||||
RST DSS
|
||||
JP Z,HANDLE_RECEIVE ; if no key pressed
|
||||
|
||||
; check for QUIT command
|
||||
LD A,(Q_POS)
|
||||
CP 4
|
||||
JP P,NO_QUIT
|
||||
; Check for Alt+x
|
||||
; IF TRACE
|
||||
; LD D,A
|
||||
; LD A,B
|
||||
; AND KB_ALT
|
||||
; JP Z, NO_QUIT
|
||||
; LD C,D
|
||||
; PUSH BC,DE,HL
|
||||
; LD DE, MSG_ALT_KEY
|
||||
; CALL UTIL.HEXB
|
||||
; PRINTLN MSG_ALT
|
||||
; POP HL,DE,BC
|
||||
|
||||
LD IX, CMD_QUIT
|
||||
Q_POS EQU $+2
|
||||
LD A,(IX+0x00)
|
||||
; compare current char with "QUIT" str
|
||||
CP E
|
||||
JR NZ,NO_QUIT
|
||||
|
||||
LD HL,Q_POS
|
||||
INC (HL)
|
||||
LD A,(HL)
|
||||
CP 5
|
||||
JP Z,OK_EXIT
|
||||
JR OUT_CHAR
|
||||
; ELSE
|
||||
LD A,D
|
||||
;AND 0xDF
|
||||
CP 0xAB
|
||||
JR NZ, NO_QUIT
|
||||
LD A,B
|
||||
AND KB_ALT
|
||||
JP NZ, OK_EXIT
|
||||
;ENDIF
|
||||
|
||||
NO_QUIT
|
||||
XOR A
|
||||
LD (Q_POS), A
|
||||
|
||||
OUT_CHAR
|
||||
LD A, E
|
||||
CP CR
|
||||
JR Z, PUT_CHAR
|
||||
CP 0x20
|
||||
JP M, HANDLE_CR_LF
|
||||
JR NZ, CHK_PRINTABLE
|
||||
CALL PUT_A_CHAR
|
||||
LD A,LF
|
||||
CALL PUT_A_CHAR
|
||||
JR TX_SYMBOL
|
||||
|
||||
PUT_CHAR
|
||||
CHK_PRINTABLE
|
||||
CP 0x20
|
||||
JP M, HANDLE_RECEIVE ; do not print < ' '
|
||||
CALL PUT_A_CHAR
|
||||
|
||||
HANDLE_CR_LF
|
||||
; transmitt symbol
|
||||
TX_SYMBOL
|
||||
CALL WIFI.UART_TX_BYTE
|
||||
JP C,TX_WARN
|
||||
LD A, E
|
||||
CP CR
|
||||
JR NZ,NO_TX_LF
|
||||
JR NZ,HANDLE_RECEIVE
|
||||
; Transmitt LF after CR
|
||||
LD E,LF
|
||||
CALL WIFI.UART_TX_BYTE
|
||||
JP C,TX_WARN
|
||||
JR HANDLE_RECEIVE
|
||||
|
||||
NO_TX_LF
|
||||
CP LF
|
||||
JR NZ,HANDLE_RECEIVE
|
||||
LD E,CR
|
||||
CALL WIFI.UART_TX_BYTE
|
||||
JP C,TX_WARN
|
||||
|
||||
|
||||
; check receiver and handle received bytes
|
||||
HANDLE_RECEIVE
|
||||
; check receiver status
|
||||
LD HL,REG_LCR
|
||||
LD HL,REG_LSR
|
||||
CALL WIFI.UART_READ
|
||||
CP LSR_RCVE
|
||||
LD D,A
|
||||
AND LSR_RCVE
|
||||
JP NZ, RX_WARN
|
||||
CP LSR_DR
|
||||
LD A,D
|
||||
AND LSR_DR
|
||||
JP Z, CHECK_FOR_END
|
||||
; rx queue is not empty, read
|
||||
LD HL,REG_RBR
|
||||
@ -167,11 +170,16 @@ HANDLE_RECEIVE
|
||||
CHK_1F
|
||||
CP 0x20
|
||||
CALL P, PUT_A_CHAR
|
||||
; reset error counter if received symbol withoud error
|
||||
XOR A
|
||||
LD (RX_ERR),A
|
||||
|
||||
CHECK_FOR_END
|
||||
LD A,(Q_POS)
|
||||
CP 5
|
||||
JP Z, OK_EXIT
|
||||
; LD A,(Q_POS)
|
||||
; CP 5
|
||||
; JP Z, OK_EXIT
|
||||
|
||||
|
||||
JP MAIN_LOOP
|
||||
|
||||
RX_WARN
|
||||
@ -179,10 +187,21 @@ RX_WARN
|
||||
LD DE,MSG_LSR_VALUE
|
||||
CALL UTIL.HEXB
|
||||
PRINTLN MSG_RX_ERROR
|
||||
JP MAIN_LOOP
|
||||
CALL WIFI.UART_EMPTY_RS
|
||||
LD HL,RX_ERR
|
||||
INC (HL)
|
||||
LD A,(HL)
|
||||
CP 100
|
||||
JP M,MAIN_LOOP
|
||||
; too many RX errors
|
||||
PRINTLN MSG_MANY_RX_ERROR
|
||||
LD B,5
|
||||
JP WCOMMON.EXIT
|
||||
|
||||
|
||||
|
||||
TX_WARN
|
||||
PRINTLN MSG_TX_ERROR
|
||||
PRINTLN MSG_TX_ERROR
|
||||
JP MAIN_LOOP
|
||||
|
||||
PUT_A_CHAR
|
||||
@ -207,9 +226,10 @@ OK_EXIT
|
||||
; ------------------------------------------------------
|
||||
|
||||
MSG_START
|
||||
DB "Terminal for Sprinter-WiFi by Sprinter Team. v1.0.1, ", __DATE__, "\r\n", 0
|
||||
DB "Terminal for Sprinter-WiFi by Sprinter Team. v1.0 beta1, ", __DATE__, "\r\n", 0
|
||||
MSG_HLP
|
||||
DB"\r\nEnter ESP AT command or QUIT to close terminal.",0
|
||||
DB"\r\nEnter ESP AT command or Alt+x to close terminal.",0
|
||||
MSG_EXIT
|
||||
|
||||
MSG_TX_ERROR
|
||||
DB "Transmitter not ready",0
|
||||
@ -219,6 +239,15 @@ MSG_RX_ERROR
|
||||
MSG_LSR_VALUE
|
||||
DB "xx",0
|
||||
|
||||
MSG_MANY_RX_ERROR
|
||||
DB "Too many receiver errors!",0
|
||||
|
||||
|
||||
MSG_ALT
|
||||
DB "Pressed ALT+"
|
||||
MSG_ALT_KEY
|
||||
DB "xx",0
|
||||
|
||||
; TX_DATA
|
||||
; DB " ",0
|
||||
; ------------------------------------------------------
|
||||
@ -227,6 +256,9 @@ MSG_LSR_VALUE
|
||||
CMD_QUIT
|
||||
DB "QUIT\r",0
|
||||
|
||||
RX_ERR
|
||||
DB 0
|
||||
|
||||
IF DEBUG == 1
|
||||
CMD_TEST1 DB "ATE0\r\n",0
|
||||
BUFF_TEST1 DS RS_BUFF_SIZE,0
|
||||
|
Loading…
Reference in New Issue
Block a user