Refactored simple BASIC wifi tools

This commit is contained in:
equant 2022-07-12 17:24:32 -07:00
parent d2e4ee41ea
commit 77d1a72275
9 changed files with 88 additions and 44 deletions

Binary file not shown.

View File

@ -0,0 +1,4 @@
5 REM define COMMANDWIFISCAN 21
10 WC = 21
100 CA = 49665 : REM Card slot 2?
150 POKE CA,WC

View File

@ -0,0 +1,17 @@
#. Load `00_wifi_scan-basic.dsk` into your Apple II
#. Load `00_wifi_scan-basic.ino` into your apple2idiot card in slot 2.
At BASIC prompt on Apple II do...
```BASIC
RUN CWIFISCAN.BAS
RUN WIFISCAN.BAS
RUN SHOWIP.BAS
```
CWIFISCAN tells the card to scan for access points.
WIFISCAN shows the results, and lets you choose an access point and enter a password
SHOWIP does just that.

View File

@ -0,0 +1,52 @@
1 REM from A2Icommands.h ...
2 REM #define COMMANDWIFISCAN 21
3 REM #define COMMANDWIFICONNECT 22
4 REM #define COMMANDWIFIDISCONNECT 23 // Unimplemented
5 REM #define WIFICONNECTED 24 // Unimplemented
6 REM #define WIFINOTCONNECTED 25 // Unimplemented
10 REM CWYFYSCAN = 21 : REM SCAN
11 WC = 22 : REM WIFI CONNECT
12 REM CWYFYDISCONNECT = 23 : REM DISCONNECT
90 REM ########################################
100 CA = 49664: REM CARD ADDRESS 0XCN0
120 AA = CA +1: REM APPL CMD ADDRESS
140 ESPA = CA: REM ESP CMD ADDRESS
150 MAXSTR = 22: REM TO LIMIT GOING BEZERK
160 NAP = PEEK(CA +1): REM NUM ACCESS POINTS
165 OFF = CA +4: REM ADDRESS OFFSET
166 REM #### LIST APS
167 PRINT ""
168 PRINT "AP #","ACCESS POINT"
169 PRINT "----","-------------------"
170 FOR J = 0 TO NAP
171 S$ = ""
200 FOR N = 0 TO MAXSTR
215 P = N +OFF
220 C = PEEK(P)
230 IF C = 0 THEN GOTO 400
240 S$ = S$ + CHR$(C)
245 REM PRINT N+1,P,C, CHR$ (C)
250 NEXT N
400 PRINT J +1,S$
420 OFF = P +1
450 NEXT J
590 PRINT ""
600 INPUT "SELECT WIFI AP #:";APN
620 INPUT "PASSWORD (BLANK IF NONE): ";PASS$
630 POKE AA +1,APN
640 WS$ = PASS$
645 WA = AA +2
650 GOSUB 2000
700 POKE AA,WC: REM TELL ESP TO USE AP
1066 END
1900 REM ##### SUBS #######
2000 REM WRITE WS$ TO WA
2100 IF LEN(WS$) = 0 THEN GOTO 2360
2200 FOR N = 0 TO LEN(WS$) -1
2210 P = WA +N
2220 C$ = MID$ (WS$,N +1,1)
2230 REM PRINT C$, ASC (C$)
2240 POKE P, ASC(C$)
2350 NEXT N
2360 POKE P +1,0 : REM NULL TERMINATED STRING
2370 RETURN

View File

@ -7,4 +7,4 @@
221 C2 = PEEK(P +1)
222 C3 = PEEK(P +2)
223 C4 = PEEK(P +3)
245 PRINT STR$(C1) +"." + STR$(C2) +"." + STR$(C3) +"." + STR$(C4)
245 PRINT STR$(C1) +"." + STR$(C2) +"." + STR$(C3) +"." + STR$(C4)

View File

@ -0,0 +1,14 @@
diskname='00_wifi_scan-basic.dsk'
files_to_add=CSCANWIFI.BAS,SCANWIFI.BAS,SHOWIP.BAS
for f in ${files_to_add//,/ };
do
echo "-------------------------"
echo Removing file: $f
java -jar ~/bin/AppleCommander.jar -d $diskname $f
echo Adding file: $f
java -jar ~/bin/AppleCommander.jar -bas $diskname $f < $f
done
#java -jar ~/bin/AppleCommander.jar -l diskname
#java -jar ~/bin/AppleCommander.jar -as ~/bin/ADTPro-2.1.0/disks/dev.dsk weather bin < weather.apple2

View File

@ -1,2 +0,0 @@
100 CA = 49665
150 POKE CA,111

View File

@ -1,41 +0,0 @@
100 CA = 49664: REM CARD ADDRESS 0XCN0
120 AA = CA +1: REM APPL CMD ADDRESS
140 ESPA = CA: REM ESP CMD ADDRESS
150 MAXSTR = 22: REM TO LIMIT GOING BEZERK
160 NAP = PEEK(CA +3): REM #ACCESS POINTS
165 OFF = CA +4: REM ADDRESS OFFSET
167 PRINT ""
168 PRINT "AP #","ACCESS POINT"
169 PRINT "----","-------------------"
170 FOR J = 0 TO NAP
171 S$ = ""
200 FOR N = 0 TO MAXSTR
215 P = N +OFF
220 C = PEEK(P)
230 IF C = 3 THEN GOTO 400
240 S$ = S$ + CHR$(C)
245 REM PRINT N+1,P,C, CHR$ (C)
250 NEXT N
400 PRINT J +1,S$
420 OFF = P +1
450 NEXT J
590 PRINT ""
600 INPUT "SELECT WIFI AP #:";APN
620 INPUT "PASSWORD (BLANK IF NONE): ";PASS$
630 POKE AA +1,APN
640 WS$ = PASS$
645 WA = AA +2
650 GOSUB 2000
700 POKE AA,112: REM TELL ESP TO USE AP
1066 END
1900 REM ##### SUBS #######
2000 REM WRITE WS$ TO WA
2100 IF LEN(WS$) = 0 THEN GOTO 2360
2200 FOR N = 0 TO LEN(WS$) -1
2210 P = WA +N
2220 C$ = MID$ (WS$,N +1,1)
2230 REM PRINT C$, ASC (C$)
2240 POKE P, ASC(C$)
2350 NEXT N
2360 POKE P +1,3
2370 RETURN