From 0c7efa8563deeaa7c3fc2f52fd384f600e02f965 Mon Sep 17 00:00:00 2001 From: Andy Lindsay Date: Mon, 4 Dec 2017 10:28:17 -0800 Subject: [PATCH] Test adding Rx-only mode to fdserial, take 2 rxonly static variable removed, and added to fdserial_st data definition --- .../TextDevices/libfdserial/cmm/libfdserial.a | Bin 4096 -> 4084 bytes .../TextDevices/libfdserial/fdserial.c | 25 ++++++++++-------- .../TextDevices/libfdserial/fdserial.h | 1 + .../TextDevices/libfdserial/lmm/libfdserial.a | Bin 11396 -> 11564 bytes .../libsimpletext/cmm/libsimpletext.a | Bin 46608 -> 46608 bytes .../libsimpletext/lmm/libsimpletext.a | Bin 100612 -> 100612 bytes version.txt | 2 +- 7 files changed, 16 insertions(+), 12 deletions(-) diff --git a/Learn/Simple Libraries/TextDevices/libfdserial/cmm/libfdserial.a b/Learn/Simple Libraries/TextDevices/libfdserial/cmm/libfdserial.a index 70e80f933ce5c90c42ca4f6130d996ebd4f830f2..69ce2bdd0bec8249400f89c773f0e3c932b88b65 100644 GIT binary patch delta 847 zcmZ9KPiWI{6vtnZ{!P-7)|ua2=bCP{*>Fr+w??FD(8CZW3Q9$!I>vOD{Sj(GgfxYL zf_NzW4qilp2TyvKQ^A8{LJxu$!K*L};;ym@P7vz*B@s&>{C@BA{r=v2Nq(fE{Y*Cx z2J?AiYI1G(Gv`u)K8dR93ZD^Nc@!mCKNp+{cy&zjQ^)A};21Yf+tK~D=r|2&^}YBq z1Ryq@QA}%3N5xN=T_IXV)^)xrHhQHYtrj_+)@lNZZOgogUHz)PfN7a*iFHGP0b4hV zgD{9G#SVxih3gSRgWrletE?QbYtfRXRRiOEl}P3KVWSU*rwhu3XB_KH+WMv)!a-Sh zqt>y#{G%g)K1SwGD$O#$pU%*{exGdr;^XqFu6|!?=n7fEx*d=mV(9~9b{FFGwRmM( zyoE!EB`y@Rpf2Y4nu(}^WLzHEJk;o0nlvGKLapSK;wdvZcXwBS?9jdc4&m#qZL`__c%Hc&Y^fA>#;=vK;rIv*)!D`N6PIu``?uoat{%bw@c8|V;`it+ec@L0xy7Xh@d;jNW z;JJUu5_`Z#kES#6mMxhT<7 x(PM|PQy(GBQ9DKD7B4q&VsZj#at%C=bb4b#5cYB%)d;!th77IhqanF z8;h+-amUKYOsIMVU|pDD^YUA@(Qdi`$=9Y$}b4CS#<}1f0j$9sr#z#sGX6kcp$Yd-@=xm zx{^D8%z(uEL(SluHb0|P6=oW=~(1`J#SXR&&R^u_*+HPCu|)!iVyx~r^yP1K)kkNQ1E{=TQD;021M zp%1*aC#g`w!RCR6%JS{GrR#TiA@I?Rpey1%Dbkqqt0^*=1D+(NXTg}o9QXxd+btrXkdy;AK?+P4{r9=8ysDJYl7iT#1V@l#P;D9iS0(_(3%Itqt^N- N#6gRn4e|OA{|D4Ufhzz2 diff --git a/Learn/Simple Libraries/TextDevices/libfdserial/fdserial.c b/Learn/Simple Libraries/TextDevices/libfdserial/fdserial.c index 289ba5a4..00fae150 100644 --- a/Learn/Simple Libraries/TextDevices/libfdserial/fdserial.c +++ b/Learn/Simple Libraries/TextDevices/libfdserial/fdserial.c @@ -9,8 +9,6 @@ #include #include "fdserial.h" -static char rxOnly = 0; - /* * start initializes and starts native assembly driver in a cog. * @param rxpin is pin number for receive input @@ -21,14 +19,6 @@ static char rxOnly = 0; */ fdserial *fdserial_open(int rxpin, int txpin, int mode, int baudrate) { - if((mode & FDSERIAL_MODE_RX_ONLY) || (txpin > 31) || (txpin < 0)) - { - txpin = rxpin; - mode |= (FDSERIAL_MODE_RX_ONLY | FDSERIAL_MODE_OPENDRAIN_TX); - mode &= (~FDSERIAL_MODE_RX_ONLY); - rxOnly = 1; - } - extern int binary_pst_dat_start[]; fdserial_st *fdptr; @@ -59,6 +49,18 @@ fdserial *fdserial_open(int rxpin, int txpin, int mode, int baudrate) fdptr->buffptr = bufptr; /* receive and transmit buffer */ + if((mode & FDSERIAL_MODE_RX_ONLY) || (txpin > 31) || (txpin < 0)) + { + fdptr->tx_pin = fdptr->rx_pin; + fdptr->mode |= FDSERIAL_MODE_OPENDRAIN_TX; + fdptr->mode &= (~FDSERIAL_MODE_RX_ONLY); + fdptr->rxOnly = 1; + } + else + { + fdptr->rxOnly = 0; + } + /* now start the kernel */ #if defined(__PROPELLER_USE_XMM__) { unsigned int buffer[2048]; @@ -139,7 +141,8 @@ int fdserial_rxChar(fdserial *term) int fdserial_txChar(fdserial *term, int txbyte) { int rc = -1; - if(!rxOnly) + fdserial_st *fdptr = (fdserial_st *) term->devst; + if(!fdptr->rxOnly) { volatile fdserial_st* fdp = (fdserial_st*) term->devst; volatile char* txbuf = (volatile char*) fdp->buffptr + FDSERIAL_BUFF_MASK+1; diff --git a/Learn/Simple Libraries/TextDevices/libfdserial/fdserial.h b/Learn/Simple Libraries/TextDevices/libfdserial/fdserial.h index ad8cbaaf..41899009 100644 --- a/Learn/Simple Libraries/TextDevices/libfdserial/fdserial.h +++ b/Learn/Simple Libraries/TextDevices/libfdserial/fdserial.h @@ -100,6 +100,7 @@ typedef struct fdserial_struct /** interface mode */ int mode; /** clkfreq / baud */ int ticks; /** pointer to rx buffer */ char *buffptr; + /** rx-only mode */ char rxOnly; } fdserial_st; /** diff --git a/Learn/Simple Libraries/TextDevices/libfdserial/lmm/libfdserial.a b/Learn/Simple Libraries/TextDevices/libfdserial/lmm/libfdserial.a index 75bb562362d7935ab0b6056fe003836d3a6c5a01..23d6201ad5298d8175eebce36282ca704e1eb2ea 100644 GIT binary patch literal 11564 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 delta 816 zcmbR6hG_y2$+8$&7#nR=e8K`^7*1wX7vHSF+RB9B9boT7@FpK%_t?CK%Ml^6nS*yC zf;ZX5UuW|Jep7_VW&@!}1aI;O1;@=#MRq_%6s^QJ?-2ir-~r`BH_J*dK@oA@EHAeW zA+q^{!cPPbs6%J7fy!B^$VMOW%@XQISt0HR@qXx>WQOr1Hs3YKKvJ1t{1GZA7$UJb z*L(w9&Ux~LM6u0PR^o6G@y%;&F0!+NLdkOSzY6iqGhG^3Al%Jzp8d>FnR)!;n@{>g zFhRL~iLslT{iR@BknGOD5U`;}lP_jVOuifDusJg%0wJ>bZrBV24=Ara`2oM^=8KU? zY9_y&uf4e-CK0YqeDj;QSOgCk4epy)CrUv@CKgF-ewh3O&J*AKAgvLJSCbit#Cwsw z5{b7a?;+T0Mn;qSM8r3*ERsRyJ}i}hayS30Sj-CYG*F=*m-yzrb&yCjnk?IrvH5JH z55&yPvMpPnrpvZOZPss(0tbze@#elxW^iyC8G}Q2ZLbVCuz@n?rgXy;#ZA8rHOF=q z%>0i$5}W_dxd0WvI3FgyP+Vg3#6=q52sWDhkw<*z7BO=m%g#%MCg6wb};%m6Ew015}TD+g%RAW%}Y30q1?^uc=Hi55}U1r z>|ru>V(BoMbH~LOGfK0tfDD}OD8VSPSyuiID-u^!^$1kf&<7~{Ra1oxA`9l48lZ4X z&5*c~o447VhZ+S`EWUYx(??;j%Pl7FTO_`DZCDQ{guB@;As%W8ZxYawohdB55Si(H zN{o`5Zx{Z8NKaN265srx>>@MR31Hrxs)y1D-i>Jwxe>f8i=J}9d6QS1_Sh`5&KIF~ za>V(7%~v)CGK1_gGMKz?t@vigtv*oh^nHaut5@$xVueV9oFcJVYu|lv&>0zQ<~zI_ z>?)(l3sb~5KRLbRdA zg{lPcK0JPjB=_Z|Ejv^nP|oLLDiZI^4_PR0;tuhxEQ|+*ASx&BklOxOh%pLkjNm@W z?NJhp%t+iSSw?;+cj9UB?Msvx8IiaL)EPU$L1;7?B%5NySO^YZ2={|6Vnt?eZ~j2j_=X*wM!pSOKR5TheZ!@V#@ZHUpJWGKE} xC5dq=KiCuCWV!unA!7o>VG#L%a-ciG^4k+-8JU^3$J8=H!w#ZgP6J~G2LSV8`A+}< delta 805 zcmZpf#MUy2ZGtSTfrYVw66*Yl7LJ~Y-HUL%bNMYqg$lWOXizN4<>>@Kl?oQQ1 zX>hO@P3KEu6yJPv+5>I~fAhXYzqw${wX2z-%)E`;A=;-qN&wY6Z1qKOB{r`F+6*=v zBrCaDYu|l{%^Sir`ZY(9513eoR5)o&6yL=ZSA+ zVLT`VarE9oMyc(Og&3n)!Ok?B-lxPUu{}zHkr_pxN|uoyDzF`>LL9<2pS*98`1XV9 zj2)0*GvDrK#MllAP4mhBR3x^4vSqA?1b{ij&- zAI6PPv!?^4^R~|jVswP5zZb@+%?