From e9b013c0cf09bbf58b8cdd589703bda75a50b3bd Mon Sep 17 00:00:00 2001 From: Serhii Zasenko Date: Mon, 11 Nov 2024 18:00:22 +0200 Subject: [PATCH 1/2] Fixup SpiritApi usage --- SpiritApi/C/src/{app.c => cmd.c} | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) rename SpiritApi/C/src/{app.c => cmd.c} (88%) diff --git a/SpiritApi/C/src/app.c b/SpiritApi/C/src/cmd.c similarity index 88% rename from SpiritApi/C/src/app.c rename to SpiritApi/C/src/cmd.c index 66d1a2f..4f4e2bb 100644 --- a/SpiritApi/C/src/app.c +++ b/SpiritApi/C/src/cmd.c @@ -21,8 +21,8 @@ void usage(int exitCode, const char *errorMsg, ...) "Options:\n" " -h\t\t\tPrint usage message.\n" " -c\t\t\tSet connection information, format:\n" - "\t\t\t, example -p tcp:localhost:1234\n" - "\t\t\t, example -p unix:/tmp/serial.socket\n" + "\t\t\t, example -c tcp:localhost:1234\n" + "\t\t\t, example -c unix:/tmp/serial.socket\n" "Operations:\n" " user \tSpawn a task and execute the command.\n" " exec \tExecute the command silently and return the result.\n" From ba720c34d7b3f276c77327c636202b4ac35e5c4a Mon Sep 17 00:00:00 2001 From: Serhii Zasenko Date: Mon, 11 Nov 2024 19:01:57 +0200 Subject: [PATCH 2/2] Improve Spirit agent - Change install destination - Fixup install script cwd problem - Add pong command --- Spirit/Install.HC | 3 ++- Spirit/Spirit.HC | 21 +++++++++++++++++---- SpiritApi/C/src/cmd.c | 1 + SpiritApi/C/src/spirit.c | 5 ++++- Supplemental.ISO.C | Bin 118784 -> 118784 bytes TOSC_Theme/Theme.HC | Bin 40882 -> 40891 bytes 6 files changed, 24 insertions(+), 6 deletions(-) diff --git a/Spirit/Install.HC b/Spirit/Install.HC index 5c82e00..301c8ba 100755 --- a/Spirit/Install.HC +++ b/Spirit/Install.HC @@ -1,8 +1,9 @@ -#define INS_DIR "~/Spirit" +#define INS_DIR "::/Apps/Spirit" if (!FileFind(INS_DIR,, FUF_JUST_DIRS)) DirMk(INS_DIR); +Cd(__DIR__); CopyTree("*", INS_DIR, FALSE); "\n"; diff --git a/Spirit/Spirit.HC b/Spirit/Spirit.HC index 378e4ce..cc0b45f 100755 --- a/Spirit/Spirit.HC +++ b/Spirit/Spirit.HC @@ -97,8 +97,12 @@ Bool GrabPutS(U8 *str) #define CMD_EXECUTE "Exec" #define CMD_CLIP_SET "ClipSet" #define CMD_CLIP_GET "ClipGet" +#define CMD_PING "Ping" + +#define LINE_END "\r\n" +#define RESP_UNKNOWN_CMD "Unknown command" LINE_END +#define RESP_PONG "Pong" LINE_END -#define RESP_UNKNOWN_CMD "Unknown command\r\n" U8* SpiritDefaultHandler() { return MStrPrint(RESP_UNKNOWN_CMD); @@ -156,11 +160,17 @@ U8*SpiritCmdClipGet() return clip; } -U8* (*handlers)()[4] = { +U8* SpiritCmdPing() +{ + return MStrPrint(RESP_PONG); +} + +U8* (*handlers)()[5] = { &SpiritCmdUserTask, &SpiritCmdExecute, &SpiritCmdClipSet, - &SpiritCmdClipGet + &SpiritCmdClipGet, + &SpiritCmdPing }; U0 LoadCommands() @@ -170,7 +180,9 @@ U0 LoadCommands() CMD_USER_TASK "\0" CMD_EXECUTE "\0" CMD_CLIP_SET "\0" - CMD_CLIP_GET "\0"); + CMD_CLIP_GET "\0" + CMD_PING "\0" + ); } U0 WaitCommand(){ @@ -211,3 +223,4 @@ U0 StartUpSpirit() "Spirit guest agent" ); } + \ No newline at end of file diff --git a/SpiritApi/C/src/cmd.c b/SpiritApi/C/src/cmd.c index 4f4e2bb..0b73c41 100644 --- a/SpiritApi/C/src/cmd.c +++ b/SpiritApi/C/src/cmd.c @@ -28,6 +28,7 @@ void usage(int exitCode, const char *errorMsg, ...) " exec \tExecute the command silently and return the result.\n" " clip-get\t\tSet host system's clibpoard to the TempleOS clipboard content.\n" " clip-set\t\tSet TempleOS clipboard content to the host system's clipboard.\n" + " ping\t\tPing Spirit agent.\n" , program_invocation_short_name); diff --git a/SpiritApi/C/src/spirit.c b/SpiritApi/C/src/spirit.c index efa7b41..5026c05 100644 --- a/SpiritApi/C/src/spirit.c +++ b/SpiritApi/C/src/spirit.c @@ -161,7 +161,10 @@ void spiritExec(struct SpiritConnection spirit, int argc, char **argv) spiritSendStr(spirit, "clipSet"); spiritSendStr(spirit, argv[1]); } else { - usage(EXIT_FAILURE, "Unknown operation `%s`.", op); + spiritSendStr(spirit, op); + for (int i = 2; i < argc; ++i) { + spiritSendStr(spirit, argv[i]); + } } char *r = rs232RecvPackage(spirit.socket); diff --git a/Supplemental.ISO.C b/Supplemental.ISO.C index c1adde709555bccaf49d2c47f1f30240ac462101..fb04e9b92bf6a7a7bc11445673da75575a57075c 100755 GIT binary patch delta 3437 zcmd^BeQZ-z6hChp>*&}RA0ncJOF`^_jmpQETR@=Q>}2bfb%PlQ&(glGb=_-uuagm+ zEB_HhWjt6r~C_6EO0nss~uXEYox~;QFn|b(`myQ&=`ulg}Fs)uDguYBR?=!Jo z$m>h!;Xm*T#3rH6ApG*UE}c`-J)k`P-HXDwjv)mZ^TsENIs|Kc_P`Q;upS}QFNhoewXITzL>@|azK%lGG|M#kBYeidMXF~R=`{07Y9 z@fU=9wPi=m)iuLX0XJ|5$)*0zPm}{18%MDXKne~hN76pt^T?e!ueBXhbBnp*lI@O- zmz~o6)95`^GmfwCr{Y?zv{sxLHMqau%FmVra8mS64W)+L7<80#X5v>8C@}25TgdW zBS9q?Ep*yDgt0UCx3NSqlB4sF<(Mzo$?#$v86pg+7(Hu$d^4}TkzmVdWNpc)sw!7W zg^UKro=WBGOysu)7{3?Cly;71phohK=6JNu$DkbRJd5TZ9WTX?60dW?DD=W~G)mSv zIGG1nHfuK3#@$v4{$rb22cct1c7G#rM->$+WR=bvcw~f5kZ>gnun9OFTz+C}s{L)D zV}2#-CxW`)Lg=N|NT+^IU0Q%Upi86Mr7x}f=C@^;vy6kcS2@I*3fE&qCreFGZnT)q zhP1N6RVJ3X9K^CzSt?t!1-+9CEX3d@)oRP!HDXOQqF8Fe2yk1YdqwZ1v>bN$_GTZ2 z*Vgrp9ZQw-OU-R&bA9n-Vx1iD$i9%IsQK3XC9|}qGfxbkY9?e-s^Q@?uib}SM#;b} zOKle9c8h1*(*&YzIdADmBiiZni|=kxi5Wvb+@kLkJh&(R%mw-em@f!q_r-oen7RAM z%|izj*a~M)(GLDrIk=$MHnqq$wV6&AAkM@VLZJ}+FQ9y{Ybiudr&!1*C;Vk&J!&7P<9LHK{Y4XXarw?WU%4&j3#R?>zAS*}PDc$TZO2k(VaWGGU!MUlY^SoY8ab0aO< z_ve1VV(mG-ML3()4s}vw5SqbT7eq%c$>f%mQ=tzgGMF15-^=$WiS+i z@Y9mw42FBVb#O1YC2#8 zN=8)~Y?mdN6oOV1Jq$KzolaFk;0s~|vKM8Q)$W=QhCtgEc$>;Y@MXpGBK@rr6wFp`9W{Uh~;1v0~-?r5ho?)=2i no*TP_&M|Lq_)-uUaD3wz!ko|#y8<99 delta 3171 zcmeHJdrVVT82=7XibYoxHVLwEhb$HpsERKb4{fm}7DoUzni1XqPPWvHzAO3tANBvarn6F{5rvd=QsuXK*mx5=?wBU)^`^xwp31Eb{-p+}`s& ze&6HVbG~!heMsGXNZqUJRd4LP{(Xiy^$7Wi1RftLO;DBGx;vOHmiLv(To-b!fqSU? zCc-_6aOKC!)RNVl+C$#idwjW!rT&sW&~rh`1&x$UzrQ)K)g(S1a%-Pets+f99!((rgp&t3-!=osWDd9H`T9PYpMnf$2B+|R^DyoozMzpC}Vf7 z61-la4K!UEO>MKo1sc{uP!?k*qcJC@O=^>ticzpA>&smT9FlesraaWFbeYG-X3zu^zy1?aeJshwaLB7l^Zx0x|yKW71*0yRwwWFV`mh2sQUEDhI zNg(ICFM)vn>H%^s{RI|n&RE}99i~+1o;SKwJU?oE`WP8otUY>=fsHHP{Y-DdzYQx% zfZPZZvM50Q`cx|p{$oilT&!Q9Ul5phaB^4epVA&zHc0{3*x_~+3N{-jxH&i9A_!iN z8sB5P4!&fYh2C0tn}X64V|cG3iIvBmI^6oZJ|u?|u_JUN?C@7sDY_%feCK)xzrENZ zG+SvmXfRmkk1SV+Mn>u$k&kovSZ7)QEv{UuBH&0*g4!rqI`;j4?48X0JbnFiX$w@&4#y6LsO ze-A18{}RSeBwfOVQ@VuvAN7zE)5Yzh^Zuj3`p+LEw^9PZ)9EBPvPO-p3vl`#ENOYwXLQ&lIUG6-TkxkMsqX4+UdgAGR>c4-4?9cM|oFU<4 zXS2uK_7UXk;d-DR7$UAN{Ipf E1yxTH)&Kwi diff --git a/TOSC_Theme/Theme.HC b/TOSC_Theme/Theme.HC index a4ee949aa51af751e60228ce3709457a84b8f588..5ff6b12349b7c26da73effe8d59c064fafcf0ed7 100755 GIT binary patch delta 42 ycmdnApK14gCPsw~{}~xgHZjfRXVo>(GuNKHkKcz=*TO)@%s@xiZ1a1;!@U442Mx9W delta 33 pcmdnJpJ~&6rj3mM85xZ>GcwKPpS+*nhfUYmK*vC5^AEwpy#UgC3=RMQ