From ad52dcdc834c2f813c32002c26f82e00a9f0ac5f Mon Sep 17 00:00:00 2001 From: hazuki Date: Sun, 26 Apr 2020 17:42:35 +0900 Subject: [PATCH 01/16] Remove excessive PROT_EXEC --- pigpio.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pigpio.c b/pigpio.c index 1bdae12..5b11476 100644 --- a/pigpio.c +++ b/pigpio.c @@ -7318,7 +7318,7 @@ static int initGrabLockFile(void) static uint32_t * initMapMem(int fd, uint32_t addr, uint32_t len) { return (uint32_t *) mmap(0, len, - PROT_READ|PROT_WRITE|PROT_EXEC, + PROT_READ|PROT_WRITE, MAP_SHARED|MAP_LOCKED, fd, addr); } From 41b3cdfc65330d43a1f9fc56bf5cceb07065fb94 Mon Sep 17 00:00:00 2001 From: Guy McSwain Date: Sat, 2 May 2020 11:17:25 -0500 Subject: [PATCH 02/16] Issue #220 Calling exit from a signal handler is not safe. --- pigpio.c | 6 +++--- pigpio.h | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/pigpio.c b/pigpio.c index 5b11476..5e04e0a 100644 --- a/pigpio.c +++ b/pigpio.c @@ -25,7 +25,7 @@ OTHER DEALINGS IN THE SOFTWARE. For more information, please refer to */ -/* pigpio version 76 */ +/* pigpio version 7602 */ /* include ------------------------------------------------------- */ @@ -5621,7 +5621,7 @@ static void sigHandler(int signum) default: DBG(DBG_ALWAYS, "Unhandled signal %d, terminating\n", signum); gpioTerminate(); - exit(-1); + _exit(); } } } @@ -5631,7 +5631,7 @@ static void sigHandler(int signum) DBG(DBG_ALWAYS, "Unhandled signal %d, terminating\n", signum); gpioTerminate(); - exit(-1); + _exit(); } } diff --git a/pigpio.h b/pigpio.h index 059d751..56a5f11 100644 --- a/pigpio.h +++ b/pigpio.h @@ -30,7 +30,7 @@ For more information, please refer to #include #include -#define PIGPIO_VERSION 76 +#define PIGPIO_VERSION 7602 /*TEXT From 90d206e941f0e2543e94bc59a2f575345ed1a227 Mon Sep 17 00:00:00 2001 From: joan2937 Date: Mon, 4 May 2020 20:46:45 +0100 Subject: [PATCH 03/16] updated pigs.def for WVCAP and download.html for download version --- DOC/dbase/pigpio.sqlite | Bin 1433600 -> 1433600 bytes DOC/src/defs/pigs.def | 27 +++++++++++++-------------- DOC/src/html/download.html | 14 ++++++++------ pigs.1 | 34 ++++++++++++++++++---------------- 4 files changed, 39 insertions(+), 36 deletions(-) diff --git a/DOC/dbase/pigpio.sqlite b/DOC/dbase/pigpio.sqlite index 531ccfdfd27ef10f9bcf37d19363c790d85c0e4e..22ceb98d1881a04d738f5577804bc7869e75672a 100644 GIT binary patch delta 2429 zcmZvee{d7W6~}eDlXbf*olaOL2FG}X9f|?llErU~kTEVlLWu`R43uD>&DpqPOG1*J zA8iMdWK8*OL1$jlW*XC`F@c8K5WFq6tpxmJ32GOn`kV7sZhw|i{Qs!`%4evee66am+ zl%!?1ds%U@lY~o(N`E?E)VbYbQc0(gG1D2|W2Vv_iFi#*Dq2&uClaMKt%==cltP%e zLkqi%bjD0oKHibE9B6kONBk?3t-E=$qdnP?sF*asVd5@z)0!$P(Sb|EEiMuD{+`eG z;2cmT-L7{~9#!?P-&v79D91?be<5Tlge1Q{k|G zArCNT(yeqklrHa??B4a_LETfR=m)Q)1D=8cCn+c{37$Ml1fA~rl)$calnGx>enL_l z4k^~hJ$>BU$F)B0>*M+e_tVi`ju-Jn$B@4xA0pS0TgXSq8RTQ+1LS?=ugExZ4Y`Tj zz_iX9wTLF5o}1UZHrNBWU0 zasoMt{1ABt`4RFg@;vf$DKjxHbMS3qissTOfVsP!WngmBEMQd9~tYgKpGdeVo1ve@@b8 zEM@P5;iz;H?(UG>!n>K?@d~AxCL|e6B2`O|X)qq63Y>d@YH+zJuW;&7#2RQsBIx*y zmUME(QV165`QnpONhJ_%R~JGd|tufh^)+q%VnhWV8)g|KGZFRE-UAt%zjMh=_#RX)oohJm>$JF)W)f?&>O{reCBn({>>O4_Bq1M{= zut>k7qDpX8-69&t)qCyPYS{Z@vIa`dt4zExtVT7s`B^#9Xdmdin5UMfbG9rWc^A)gPk|!rJ{x_4@x6L_NG^etYjI^)GH;TR9E7*`%00$ zE#vG#S@FP-q$n2y%J(N*q5p=Q)Zjmgi^4-Um(??JX!K8k$ndPo$+=UzAA45 z&vxpCC;uYn!@za<9&vbF&a)R-4cQ%Z7JO@lmx*Uj(cK#Sa=u(3W{lDuw!IF9$4G@3 zc%3$DLdjttTK}#!c(hh?-~XCY1rr&c=i(~1(6-dW{&!gjo_m#0@sh;0Xt31H=7~z3 z)k_*iezSttrA)klxBmF zQ?r#ECJNb3iDThxo*k|6L>tfSF?lADF*-RkT~UH?dIr{V@ru$2RWn%yw7jP-hgcK7 zJo=}xt%{K{Ioz7YnlR6P!Ajvf`D_KeEf|51pZ84{xgwV5gxni!j=TO*qbu2I!v2qx zMItnd<)jP8-}2ZyUMut~J8iagcTzOAPM(jIA#I5|B|GNXm*B~i*<&qlFVU7V+Pm<{uwHt6?jw85 zlu7XzP+Ch~)GVHP%*rxVOG|f##}gSWqSHvVo7{{iy4&~g)C);L6lWpQs58FTnoudI1rV%fB_L)yO#{~wb5_vLGU>Z_?x F|1YPg&Vm2{ delta 1835 zcmYk7du&s66vz9!ZP(}S+WY%W9)s<&&B0`kjyeZ2N(bXH5vUTJyvD{TFhka|6%<8R zLNWqju*(Q1fI=}S-~%@XJ&1{!OpJjrDv61Y1nLWXL|pVgf$6zdWBlWjoPN*wo%1{A z{F)mdsE-fScjvHtZQN{czNu_nZ>Gs)l4QS0)?|Nwg=a8xhhN_5ml+|UUpA*cVly$4 z>+WLG^hbf^xySZ|3f)*T%;(7#Iva$V`+PB88sPy3YP}?*lIBgagIqOpTQ$gu;tLqKZu5u0cY}V*StL)o!%8F;Lwl=24y|Okx(=~p)` z*_cVsR8dwc)_?>%%d)F53$HM7aaBlTi9;YTIt%jXSX?K#S-wo z!(h^HR*qHme7Q{@!yeQc^oBzX87_FRir3+@K|W1RChTSp+l$&F-Kq8~wa}|_7cNnG zKu!+m&V8tr8O{TW8$BMr-56juYPq@^9nI^`FXXj`sG%n7;&U$Ugge7Z1mfdi=BBo!?KN|zxVLTyM7^9?F) zuwUZ&&@iYJ^lWQ!V^go3DH!##|eYpUl2u5Lj=26o!I| z9UHeQ6;^$`Z_>NbkN1S^<4|o>HW|fE(pq%&`U%@%JQ`B|$kby`(JG8m#ThlQtevJE z3Mw_mfwyT9dNqrWnnso~n^pEMY5_ew9aqMl&lT-*ve!u$K0~t>BquP-23JbWMKJW2 z(+P2ZmIHoSnt2+3^@tNjy*^r%9+^8)&;nJlT~4N*l=v(yR@X<4yL^yXC9>euHP@(~ z#Mx>*=o9yhv;9<@Vw|Pw?6z=IEUY%cZzUoJi-Tf{O)6C(F;C=KjVBHt%@Zr3;d6@< zCe9ZVa-!k3=5T9FjjU5+kyz74wJqEp*-ToQ6FTOLxy%Wl%ojW0)=VV_9t6b;mZr9_ z6K>Us)euKlA>OMIwG8Txa2d}n5Hf>LFS(Y%fS(rk$U9ai7zwb&j!xbTM$QU5P z!ly(DsH;V~XU|yyuZ`heEN&E6>3O)Q=L-Gg$HX1Dzrb#XYo`<$$M%XYEA}VFVuxh9 zh?bNX$wH|yn|aWja7j^{^-q)a&&;>9O?9}`;~s74i+3^4t{dxwJ3Cu)WRK6A&~qY! zFAMkY4!x~Fr|RxhGdoqeQ_bpBJxSH;9B5!clZib>_z55J1W`y#Au5PUqLg@?m_}3) zPZHCKsl>CyGGaNgf>=qcA|58{VME$m-th%h|B|>#+#=G%H^jHZcf|L^55#Ta4)G)L z6Y(?g3#BP09w8U61sG+295vR!x z(6{P_d{P?r22Yw(<~Vv%=07^LP!|1JI8B>0DT=0) is returned. On error a negative status -code will be returned. +Upon success a wave id (>=0) is returned. On error a negative status code will be returned. -The data provided by the [*WVAG*] and [*WVAS*] commands are -consumed by this command. +The data provided by the [*WVAG*] and [*WVAS*] commands are consumed by this command. -As many waveforms may be created as there is space available. -The wave id is passed to [*WVTX*] or [*WVTXR*] to specify the -waveform to transmit. +As many waveforms may be created as there is space available. The wave id is passed to [*WVTX*] or [*WVTXR*] to specify the waveform to transmit. Normal usage would be @@ -2813,8 +2806,9 @@ Step 4. [*WVTX*] or [*WVTXR*] with the id of the waveform to transmit. Repeat steps 2 - 4 as needed. -Step 5. Any wave id can now be deleted and another wave of the same size - can be created in its place. +Step 5. Any wave id can now be deleted and another wave of the same size can be created in its place. + +Example ... # Create a wave that consumes 50% of the total resource: @@ -3200,6 +3194,11 @@ must match an entry in /opt/pigpio/access. pdc :: hardware PWM dutycycle (0-1000000) The command expects a dutycycle. +percent :: percent (1-100) +The percent of wave resources to allocate to a wave. It can be useful +to create waves of fixed sizes to prevent wave fragmentation (where +there are plenty of resources but not a large enough contiguous space). + pf :: hardware PWM frequency (1-125M, 1-187.5M for the BCM2711) The command expects a frequency. diff --git a/DOC/src/html/download.html b/DOC/src/html/download.html index 8c2c7be..740a3c8 100644 --- a/DOC/src/html/download.html +++ b/DOC/src/html/download.html @@ -1,7 +1,7 @@ - + download @@ -14,12 +14,14 @@ pigpiod).
compilation of pigpio.c, takes 100 seconds on early model Pis.  Be patient.  The overall install takes just over 3 minutes.
-

Download and install (V75)

-wget https://github.com/joan2937/pigpio/archive/v75.zip
-unzip v75.zip
-cd pigpio-75
+

Download and install latest version

+ +wget https://github.com/joan2937/pigpio/archive/master.zip
+unzip master.zip
+cd pigpio-master
make
-sudo make install

+sudo make install
+

If the Python part of the install fails it may be because you need the setup tools.
diff --git a/pigs.1 b/pigs.1 index 9b6192c..b315910 100644 --- a/pigs.1 +++ b/pigs.1 @@ -548,8 +548,8 @@ Add serial data to waveform .B WVCRE Create a waveform .P -.B WVCAP -Create a waveform of fixed size +.B WVCAP percent +Create a waveform of fixed size .P .B WVDEL wid Delete selected waveform @@ -5142,27 +5142,20 @@ ERROR: attempt to create an empty waveform .br -.IP "\fBWVCAP \fP - Create a waveform of fixed size" +.IP "\fBWVCAP percent\fP - Create a waveform of fixed size" .IP "" 4 .br -Similar to \fBWVCRE\fP, this command creates a waveform but pads the consumed -resources to a fixed size, specified as a percent of total resource. -Padded waves of equal size can be re-cycled efficiently allowing newly -created waves to re-use the resources of deleted waves of the same dimension. +Create a waveform of fixed size. Similar to \fBWVCRE\fP, this command creates a waveform but pads the consumed resources to a fixed size, specified as a \fBpercent\fP of the total resources. Padded waves of equal size can be re-cycled efficiently allowing newly created waves to re-use the resources of deleted waves of the same dimension. .br -Upon success a wave id (>=0) is returned. On error a negative status -code will be returned. +Upon success a wave id (>=0) is returned. On error a negative status code will be returned. .br -The data provided by the \fBWVAG\fP and \fBWVAS\fP commands are -consumed by this command. +The data provided by the \fBWVAG\fP and \fBWVAS\fP commands are consumed by this command. .br -As many waveforms may be created as there is space available. -The wave id is passed to \fBWVTX\fP or \fBWVTXR\fP to specify the -waveform to transmit. +As many waveforms may be created as there is space available. The wave id is passed to \fBWVTX\fP or \fBWVTXR\fP to specify the waveform to transmit. .br Normal usage would be @@ -5183,8 +5176,10 @@ Step 4. \fBWVTX\fP or \fBWVTXR\fP with the id of the waveform to transmit. Repeat steps 2 - 4 as needed. .br -Step 5. Any wave id can now be deleted and another wave of the same size - can be created in its place. +Step 5. Any wave id can now be deleted and another wave of the same size can be created in its place. + +.br +Example .br @@ -5881,6 +5876,13 @@ The command expects a dutycycle. .br +.IP "\fBpercent\fP - percent (1-100)" 0 +The percent of wave resources to allocate to a wave. It can be useful +to create waves of fixed sizes to prevent wave fragmentation (where +there are plenty of resources but not a large enough contiguous space). + +.br + .IP "\fBpf\fP - hardware PWM frequency (1-125M, 1-187.5M for the BCM2711)" 0 The command expects a frequency. From eb7600ecd9d14ef2ec6d98105ed0a3003135da0d Mon Sep 17 00:00:00 2001 From: joan2937 Date: Thu, 7 May 2020 11:53:04 +0100 Subject: [PATCH 04/16] fixed untracked files --- DOC/dbase/pigpio.sqlite | Bin 1433600 -> 1433600 bytes DOC/src/defs/examples.def | 7 +++++++ util/pigpiod | 31 ------------------------------- 3 files changed, 7 insertions(+), 31 deletions(-) delete mode 100755 util/pigpiod diff --git a/DOC/dbase/pigpio.sqlite b/DOC/dbase/pigpio.sqlite index 22ceb98d1881a04d738f5577804bc7869e75672a..6ac1161460adff80dca79168648fec76f71d3a6c 100644 GIT binary patch delta 1165 zcmZ`&U2NM_6t)vLU79vc$Tekj(e5HdTWMLGCaPZ01s3M@x%kiX@!KK51)0< zIo~+xa!Ejqd$PX)NE^l>oLS2o3Q z9|GeVfB|j*J^-`+ zHsV(T8+S|u_{V5`IkbyCzZ^Onp}+hIM_d#S3hqRrGl7CKf0QaG!~$D6DV8F1CMUkZ zE=`D^1v~GfV2po)l^+q`jL@r3i#u6T5)TQT+rGcZ%6afJ0gENUU&WKJwZ&)Hr}u~l zz!}?e9%p3)tn0#-eS#`KpwsMYLCgVb1C@k6NIjXB9!Tf1v^^xI+3SCxnFw9{9huBo zN52LA+NbF3ujmxJ@gq76X={+?d!J(Eo9Jk8(p)gLeTG%dn3gd^%1%bND!F_nRTx)r z%_5bDQZ>gh?fsd|w#;M459RXX8Kp2jZ547-PD)F8`u)!+@o;g$sTn#hD&^BkmEa?~ zO6Kus5n7JnZWeABYO_xE`I&vDW@1gZ9i?8!T@^IDhMuDrZ=qd7(=&>tlXOkdZK8ve zbeE8#D}RNPW7`A^{}D#dA#rHYPzhFa6_a_TVb%$5+P*lWf}I+{zPNvD!}wsGC^}Jb z)9mIcstShPG)=>DaK*5&MHE%jtGHqr4cutf9nG%`^AH=V`w_z=dTEokSS|UHQU9|S zLotik_E@)amo;Z;4y0_7{t0V3HY}A`*fH=lfxTG-r^-gdR2*%(PEvSIb86iQ=9Go4 z0W`lmNQEmnV5v<_H*DB6{V5_k47RH5pg5Nh+0IMouI>*x#j-2td?X5&pRr9v-&`PV z=M#utTt)GFw|xSS&O5}?mAd~5`sgS76C-#2|E18cR#BGSd>4%e>3J!!mr7FNzK$#k au`nsafH1i2Hyma!ONoU+7Q7uS$$tY_v2
QWq0x^6S*K>|bm%263@)NvbaBzm#U3t9E@E8taM8;}oC~WV>}V-+ zhAw|5V=X(WK9`x6eUPcM@*IuuZTES~M{0Z`AIN(d+p&{Uw(M(1R%m`oR>=#pM%KwI zvO!)GByY%D@{Z0M-x#sJ_Aaruy~5gi^Gs3XP63AGRt3i7L;_5CzYO~^a~tl)mss9G zmUmT8JuGVl0Q@lt2~|EQLjwCtP&M)T9OSgdOINeh0tUyRqNARNq9&)VfQj|faH^}Z z-B~SSFhr}eI_8vcIt#_{kESq4Qfdrmj}DKH$V11SK6y(62Xg~(BW#o~FgyE7zucQR zZ^3AomNEG2R`g9B9*6UJ41Urqv-@BUy|#NIOfO*YnNrkS?rv=wgVj#$OHVY8PSdT2 cwTtv{htk%vJB}xxxD~VEfo@@BTl+WvA2c(Zq5uE@ diff --git a/DOC/src/defs/examples.def b/DOC/src/defs/examples.def index cd793a4..5a54f92 100644 --- a/DOC/src/defs/examples.def +++ b/DOC/src/defs/examples.def @@ -501,6 +501,13 @@ gpioHardwareRevision Related code. +?4|https://pypi.org/project/nrf24/|2020-04-20|NRF24 +Python Package Index (Pypi) NRF24 module. +pip install nrf24 + +?4|https://github.com/bjarne-hansen/py-nrf24|2020-04-20|NRF24 +Code and example usage of the Pypi NRF24 module. Cleaned up and added support for reading from multiple pipes using open_reading_pipe(pipe, address) and open_writing_pipe(address) in order to be more "compatible" with the way NRF24 is used on Arduinos. + ?4|https://github.com/stripcode/pigpio-stepper-motor|2016-08-12|Stepper Motor Stepper motor code. diff --git a/util/pigpiod b/util/pigpiod deleted file mode 100755 index 59ba142..0000000 --- a/util/pigpiod +++ /dev/null @@ -1,31 +0,0 @@ -#!/bin/sh -### BEGIN INIT INFO -# Provides: pigpiod -# Required-Start: -# Required-Stop: -# Default-Start: 2 3 4 5 -# Default-Stop: 0 1 6 -# Short-Description: pigpio daemon -# Description: pigpio daemon required to control GPIO pins via pigpio $ -### END INIT INFO - -# Actions -case "$1" in - start) - pigpiod - ;; - stop) - pkill pigpiod - ;; - restart) - pkill pigpiod - pigpiod - ;; - *) - echo "Usage: $0 start" >&2 - exit 3 - ;; -esac - -exit 0 - From a77351a941e6716a588c48b99ef0fd3462be9cae Mon Sep 17 00:00:00 2001 From: Guy McSwain Date: Sun, 31 May 2020 13:44:14 -0500 Subject: [PATCH 05/16] Revert "Issue #220 Calling exit from a signal handler is not safe." --- pigpio.c | 6 +++--- pigpio.h | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/pigpio.c b/pigpio.c index 5e04e0a..5b11476 100644 --- a/pigpio.c +++ b/pigpio.c @@ -25,7 +25,7 @@ OTHER DEALINGS IN THE SOFTWARE. For more information, please refer to */ -/* pigpio version 7602 */ +/* pigpio version 76 */ /* include ------------------------------------------------------- */ @@ -5621,7 +5621,7 @@ static void sigHandler(int signum) default: DBG(DBG_ALWAYS, "Unhandled signal %d, terminating\n", signum); gpioTerminate(); - _exit(); + exit(-1); } } } @@ -5631,7 +5631,7 @@ static void sigHandler(int signum) DBG(DBG_ALWAYS, "Unhandled signal %d, terminating\n", signum); gpioTerminate(); - _exit(); + exit(-1); } } diff --git a/pigpio.h b/pigpio.h index 56a5f11..7aa6f78 100644 --- a/pigpio.h +++ b/pigpio.h @@ -30,7 +30,7 @@ For more information, please refer to #include #include -#define PIGPIO_VERSION 7602 +#define PIGPIO_VERSION 7601 /*TEXT From 5395bbed13e175a16c8fc27d006e3c2b6ccd6782 Mon Sep 17 00:00:00 2001 From: Guy McSwain Date: Sun, 31 May 2020 14:26:37 -0500 Subject: [PATCH 06/16] Fix waveCBsOOLs tallys for 2d dma stride. --- pigpio.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pigpio.c b/pigpio.c index 5b11476..2c52870 100644 --- a/pigpio.c +++ b/pigpio.c @@ -3000,7 +3000,9 @@ static void waveCBsOOLs(int *numCBs, int *numBOOLs, int *numTOOLs) for (i=0; i Date: Mon, 25 May 2020 16:00:22 -0400 Subject: [PATCH 07/16] Fix issue #353, initialising glitch filter --- pigpio.c | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/pigpio.c b/pigpio.c index 2c52870..6ef6ce9 100644 --- a/pigpio.c +++ b/pigpio.c @@ -950,6 +950,7 @@ typedef struct uint32_t nfRBitV; uint32_t gfSteadyUs; + uint8_t gfInitialised; uint32_t gfTick; uint32_t gfLBitV; uint32_t gfRBitV; @@ -5685,7 +5686,7 @@ unsigned alert_delays[]= static void alertGlitchFilter(gpioSample_t *sample, int numSamples) { int i, j, diff; - uint32_t steadyUs, changedTick, RBitV, LBitV; + uint32_t steadyUs, changedTick, RBitV, LBitV, initialised; uint32_t bit, bitV; for (i=0; i<=PI_MAX_USER_GPIO; i++) @@ -5694,6 +5695,17 @@ static void alertGlitchFilter(gpioSample_t *sample, int numSamples) if (monitorBits & bit & gFilterBits) { + initialised = gpioAlert[i].gfInitialised; + if (!initialised && numSamples > 0) + { + /* Initialise filter with first sample */ + bitV = sample[0].level & bit; + gpioAlert[i].gfRBitV = bitV; + gpioAlert[i].gfLBitV = bitV; + gpioAlert[i].gfTick = sample[0].tick; + gpioAlert[i].gfInitialised = 1; + } + steadyUs = gpioAlert[i].gfSteadyUs; RBitV = gpioAlert[i].gfRBitV; LBitV = gpioAlert[i].gfLBitV; @@ -12335,18 +12347,8 @@ int gpioGlitchFilter(unsigned gpio, unsigned steady) if (steady) { - gpioAlert[gpio].gfTick = systReg[SYST_CLO]; - - if (gpioRead_Bits_0_31() & (1< Date: Thu, 25 Jun 2020 12:34:45 -0500 Subject: [PATCH 08/16] Fix issue #355, python module event_callback documentation. --- pigpio.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pigpio.py b/pigpio.py index 978aff2..2d418b1 100644 --- a/pigpio.py +++ b/pigpio.py @@ -5055,7 +5055,7 @@ class pi(): by calling the tally function. The count may be reset to zero by calling the reset_tally function. - The callback may be cancelled by calling the event_cancel function. + The callback may be canceled by calling the cancel function. An event may have multiple callbacks (although I can't think of a reason to do so). @@ -5072,7 +5072,7 @@ class pi(): cb2.reset_tally() - cb1.event_cancel() # To cancel callback cb1. + cb1.cancel() # To cancel callback cb1. ... """ From 1c5b27f41d4796204008138f580adf1d288bf335 Mon Sep 17 00:00:00 2001 From: Guy McSwain Date: Thu, 25 Jun 2020 22:26:41 -0500 Subject: [PATCH 09/16] Fix issue #356, document wave_tx_at API is not supported on chained waves. --- pigpio.h | 2 +- pigpio.py | 2 +- pigpiod_if2.h | 2 +- pigs.1 | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/pigpio.h b/pigpio.h index 7aa6f78..c318515 100644 --- a/pigpio.h +++ b/pigpio.h @@ -2181,7 +2181,7 @@ D*/ int gpioWaveTxAt(void); /*D This function returns the id of the waveform currently being -transmitted. +transmitted using [*gpioWaveTxSend*]. Chained waves are not supported. Returns the waveform id or one of the following special values: diff --git a/pigpio.py b/pigpio.py index 2d418b1..7fc80a5 100644 --- a/pigpio.py +++ b/pigpio.py @@ -2466,7 +2466,7 @@ class pi(): def wave_tx_at(self): """ Returns the id of the waveform currently being - transmitted. + transmitted using [*wave_send**]. Chained waves are not supported. Returns the waveform id or one of the following special values: diff --git a/pigpiod_if2.h b/pigpiod_if2.h index 79d0223..9700cc0 100644 --- a/pigpiod_if2.h +++ b/pigpiod_if2.h @@ -1609,7 +1609,7 @@ D*/ int wave_tx_at(int pi); /*D This function returns the id of the waveform currently being -transmitted. +transmitted by [*wave_send**]. Chained waves are not supported. . . pi: >=0 (as returned by [*pigpio_start*]). diff --git a/pigs.1 b/pigs.1 index b315910..8fa4337 100644 --- a/pigs.1 +++ b/pigs.1 @@ -4823,7 +4823,7 @@ $ pigs wvas 7 38400 8 2 0 0x41 0x42 .br This command returns the id of the waveform currently -being transmitted. +being transmitted. Note: chained waves are not supported. .br Returns the waveform id or one of the following special From d7379baf9b40ed0f629954408f3d65588a07843e Mon Sep 17 00:00:00 2001 From: Guy McSwain Date: Thu, 25 Jun 2020 23:02:41 -0500 Subject: [PATCH 10/16] Remove deprecated gpioCfgInternals API. Fix issue #341. --- DOC/dbase/pigpio.sqlite | Bin 1433600 -> 1433600 bytes DOC/src/defs/pigs.def | 2 +- pigpio.c | 38 -------------------------------------- pigpio.h | 23 ++++++++++------------- 4 files changed, 11 insertions(+), 52 deletions(-) diff --git a/DOC/dbase/pigpio.sqlite b/DOC/dbase/pigpio.sqlite index 6ac1161460adff80dca79168648fec76f71d3a6c..a26ab8e50b2ae5b1a67829e5a808e556115cea5f 100644 GIT binary patch delta 6951 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 DBG_ALWAYS) && (cfgVal <= DBG_MAX_LEVEL)) - { - - gpioCfg.dbgLevel = cfgVal; - gpioCfg.internals = (gpioCfg.internals & (~0xF)) | cfgVal; - - DBG(DBG_ALWAYS, "Debug level is %u", cfgVal); - - retVal = 0; - } - - break; - } - - return retVal; -} - /* include any user customisations */ diff --git a/pigpio.h b/pigpio.h index c318515..a24e074 100644 --- a/pigpio.h +++ b/pigpio.h @@ -106,6 +106,15 @@ return error PI_NOT_INITIALISED. If the library is initialised the [*gpioCfg**] functions will return error PI_INITIALISED. +If you intend to rely on signals sent to your application, you should +turn off the internal signal handling as show in this example: +. . +int cfg = gpioCfgGetInternals(); +cfg |= PI_CFG_NOSIGHANDLER; // (1<<10) +gpioCfgSetInternals(cfg); +int status = gpioInitialise(); +. . + TEXT*/ /*OVERVIEW @@ -377,7 +386,6 @@ gpioCfgSocketPort Configure socket port gpioCfgMemAlloc Configure DMA memory allocation mode gpioCfgNetAddr Configure allowed network addresses -gpioCfgInternals Configure misc. internals (DEPRECATED) gpioCfgGetInternals Get internal configuration settings gpioCfgSetInternals Set internal configuration settings @@ -4975,18 +4983,6 @@ numSockAddr: 0-256 (0 means all addresses allowed) D*/ -/*F*/ -int gpioCfgInternals(unsigned cfgWhat, unsigned cfgVal); -/*D -Used to tune internal settings. - -. . -cfgWhat: see source code - cfgVal: see source code -. . -D*/ - - /*F*/ uint32_t gpioCfgGetInternals(void); /*D @@ -5003,6 +4999,7 @@ settings. . . cfgVal: see source code . . + D*/ From d4e20ead60f50b0b6a5e864b7d993ccfdd3b7e35 Mon Sep 17 00:00:00 2001 From: Guy McSwain Date: Fri, 26 Jun 2020 16:20:36 -0500 Subject: [PATCH 11/16] Bump version and generate docs. --- .gitignore | 2 ++ DOC/dbase/pigpio.sqlite | Bin 1433600 -> 1433600 bytes pigpio.3 | 42 ++++++++++++++++++++++------------------ pigpio.c | 2 +- pigpio.h | 2 +- pigpiod_if2.3 | 2 +- pigs.1 | 2 +- 7 files changed, 29 insertions(+), 23 deletions(-) diff --git a/.gitignore b/.gitignore index 4449b61..fcdcc13 100644 --- a/.gitignore +++ b/.gitignore @@ -13,6 +13,8 @@ build dist *.egg-info +tmp/ + # DOC files DOC/dbase/pigpio.sqlite.* DOC/tmp diff --git a/DOC/dbase/pigpio.sqlite b/DOC/dbase/pigpio.sqlite index a26ab8e50b2ae5b1a67829e5a808e556115cea5f..ba6114019b0edb2cde75261b71a81bfa9c393fc3 100644 GIT binary patch delta 6711 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 R$ZQIV0lAIG#K0ff{|O~XifI4< delta 6577 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 V8J8S!fF?he`8yqTbbq_U`aiA{IoJRI diff --git a/pigpio.3 b/pigpio.3 index c878cbd..0871b71 100644 --- a/pigpio.3 +++ b/pigpio.3 @@ -189,6 +189,24 @@ error PI_INITIALISED. .br +.br +If you intend to rely on signals sent to your application, you should +turn off the internal signal handling as show in this example: + +.EX +int cfg = gpioCfgGetInternals(); +.br +cfg |= PI_CFG_NOSIGHANDLER; // (1<<10) +.br +gpioCfgSetInternals(cfg); +.br +int status = gpioInitialise(); +.br + +.EE + +.br + .br .SH OVERVIEW @@ -689,8 +707,6 @@ gpioCfgMemAlloc Configure DMA memory allocation mode gpioCfgNetAddr Configure allowed network addresses .br -.br -gpioCfgInternals Configure misc. internals (DEPRECATED) .br gpioCfgGetInternals Get internal configuration settings .br @@ -3026,7 +3042,7 @@ int main(int argc, char *argv[]) .IP "\fBint gpioWaveTxAt(void)\fP" .IP "" 4 This function returns the id of the waveform currently being -transmitted. +transmitted using \fBgpioWaveTxSend\fP. Chained waves are not supported. .br @@ -7896,22 +7912,6 @@ numSockAddr: 0-256 (0 means all addresses allowed) .EE -.IP "\fBint gpioCfgInternals(unsigned cfgWhat, unsigned cfgVal)\fP" -.IP "" 4 -Used to tune internal settings. - -.br - -.br - -.EX -cfgWhat: see source code -.br - cfgVal: see source code -.br - -.EE - .IP "\fBuint32_t gpioCfgGetInternals(void)\fP" .IP "" 4 This function returns the current library internal configuration @@ -7932,6 +7932,10 @@ cfgVal: see source code .EE +.br + +.br + .IP "\fBint gpioCustom1(unsigned arg1, unsigned arg2, char *argx, unsigned argc)\fP" .IP "" 4 This function is available for user customisation. diff --git a/pigpio.c b/pigpio.c index 4bee29a..0ad740d 100644 --- a/pigpio.c +++ b/pigpio.c @@ -25,7 +25,7 @@ OTHER DEALINGS IN THE SOFTWARE. For more information, please refer to */ -/* pigpio version 76 */ +/* pigpio version 77 */ /* include ------------------------------------------------------- */ diff --git a/pigpio.h b/pigpio.h index a24e074..7364b71 100644 --- a/pigpio.h +++ b/pigpio.h @@ -30,7 +30,7 @@ For more information, please refer to #include #include -#define PIGPIO_VERSION 7601 +#define PIGPIO_VERSION 7700 /*TEXT diff --git a/pigpiod_if2.3 b/pigpiod_if2.3 index f07de8d..e5c79e8 100644 --- a/pigpiod_if2.3 +++ b/pigpiod_if2.3 @@ -2829,7 +2829,7 @@ int main(int argc, char *argv[]) .IP "\fBint wave_tx_at(int pi)\fP" .IP "" 4 This function returns the id of the waveform currently being -transmitted. +transmitted by \fBwave_send*\fP. Chained waves are not supported. .br diff --git a/pigs.1 b/pigs.1 index 8fa4337..9b53e0e 100644 --- a/pigs.1 +++ b/pigs.1 @@ -4823,7 +4823,7 @@ $ pigs wvas 7 38400 8 2 0 0x41 0x42 .br This command returns the id of the waveform currently -being transmitted. Note: chained waves are not supported. +being transmitted. Chained waves are not supported. .br Returns the waveform id or one of the following special From f51642ad1374b5bc6bfcf076c7459f7a7bf0db54 Mon Sep 17 00:00:00 2001 From: Guy McSwain Date: Sat, 27 Jun 2020 07:08:01 -0500 Subject: [PATCH 12/16] Revert "Remove excessive PROT_EXEC" --- pigpio.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pigpio.c b/pigpio.c index 0ad740d..491c40d 100644 --- a/pigpio.c +++ b/pigpio.c @@ -7332,7 +7332,7 @@ static int initGrabLockFile(void) static uint32_t * initMapMem(int fd, uint32_t addr, uint32_t len) { return (uint32_t *) mmap(0, len, - PROT_READ|PROT_WRITE, + PROT_READ|PROT_WRITE|PROT_EXEC, MAP_SHARED|MAP_LOCKED, fd, addr); } From b96c77c281d8179188b200b01bda3bc4a6bf1eae Mon Sep 17 00:00:00 2001 From: Guy McSwain Date: Sat, 27 Jun 2020 07:51:44 -0500 Subject: [PATCH 13/16] Change version to 77. --- pigpio.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pigpio.h b/pigpio.h index 7364b71..f90b81b 100644 --- a/pigpio.h +++ b/pigpio.h @@ -30,7 +30,7 @@ For more information, please refer to #include #include -#define PIGPIO_VERSION 7700 +#define PIGPIO_VERSION 77 /*TEXT From c3759529b2cd54df4b27bbfda47c6f031dd35e64 Mon Sep 17 00:00:00 2001 From: joan2937 Date: Sun, 28 Jun 2020 09:40:59 +0100 Subject: [PATCH 14/16] Update index.html Add link to Xojo implementation by Eugene Dakin --- DOC/src/html/index.html | 2 ++ 1 file changed, 2 insertions(+) diff --git a/DOC/src/html/index.html b/DOC/src/html/index.html index b34ea79..d9093c6 100644 --- a/DOC/src/html/index.html +++ b/DOC/src/html/index.html @@ -652,6 +652,8 @@ Calin Horea) "https://github.com/vasmalltalk/pigpio-vast">Smalltalk(Instantiations)
  • Xojo(UBogun)
  • +
  • Xojo(Eugene Dakin)

  • The PWM and servo pulses are timed using the DMA From a686d1de717de7aa5ba13f8db6fded3dad9e64d0 Mon Sep 17 00:00:00 2001 From: joan2937 Date: Sun, 28 Jun 2020 09:51:27 +0100 Subject: [PATCH 15/16] Update index.html Removed experimental on Pi4 paragraph. --- DOC/src/html/index.html | 7 ------- 1 file changed, 7 deletions(-) diff --git a/DOC/src/html/index.html b/DOC/src/html/index.html index d9093c6..229073f 100644 --- a/DOC/src/html/index.html +++ b/DOC/src/html/index.html @@ -10,13 +10,6 @@ pigpio is a library for the Raspberry which allows control of the General Purpose Input Outputs (GPIO).  pigpio works on all versions of the Pi. -

    At the moment pigpio on the Pi4B is experimental. I am not -sure if the DMA channels being used are safe. The Pi4B defaults are -primary channel 7, secondary channel 6. If these channels do not -work you will have to experiment. You can set the channels used by -the pigpio daemon by invoking it with the -d and -e options, e.g. -sudo pigpiod -d 5 -e 8 to specify primary 5, -secondary 8.

    Download

    Features

      From 0c1fb8b6603040ee41c4cdde0e60f16f6f264240 Mon Sep 17 00:00:00 2001 From: Guy McSwain Date: Sun, 28 Jun 2020 10:20:05 -0500 Subject: [PATCH 16/16] Update docs --- DOC/dbase/pigpio.sqlite | Bin 1433600 -> 1433600 bytes DOC/src/html/index.html | 6 ++++-- pigpio.3 | 6 +++++- pigpio.h | 3 ++- 4 files changed, 11 insertions(+), 4 deletions(-) diff --git a/DOC/dbase/pigpio.sqlite b/DOC/dbase/pigpio.sqlite index ba6114019b0edb2cde75261b71a81bfa9c393fc3..c20cbe090d34969f2b040eb9589c6e89e524fba0 100644 GIT binary patch delta 5923 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 diff --git a/DOC/src/html/index.html b/DOC/src/html/index.html index 229073f..0b8e33c 100644 --- a/DOC/src/html/index.html +++ b/DOC/src/html/index.html @@ -620,7 +620,7 @@ links.

      Languages

      There are several third party projects which provide wrappers for pigpio.

      -

      Some I am aware of are:

      +

      Some are listed here:

      • Erlang (skvamme)
      • @@ -635,7 +635,9 @@ diozero, a high level wrapper around pigpio, Pi4J, wiringPi etc "https://github.com/unosquare/pigpio-dotnet">.NET/mono (unosquare)
      • Node.js -(fivdi)
      • +A wrapper for the pigpio C library (fivdi) +
      • Node.js +A client for pigpio socket interface (guymcswain)
      • Perl (Gligan Calin Horea)