58 Commits

Author SHA1 Message Date
toca21
5cabf4a4f8 Fixed the Compute Module 4 pin mode setting. The CM4 is equal to RB4 std platform, not CM3 family as it turned out. 2021-07-20 21:49:53 +02:00
MichaIng
f152400923
Update wiringPi.c
wiringPi.c:1328:21: warning: ‘digitalWrite8Dummy’ defined but not used [-Wunused-function]
 1328 | static         void digitalWrite8Dummy       (UNU struct wiringPiNodeStruct *node, UNU int pin, UNU int value) { return ; }
      |                     ^~~~~~~~~~~~~~~~~~
wiringPi.c:1327:21: warning: ‘digitalRead8Dummy’ defined but not used [-Wunused-function]
 1327 | static unsigned int digitalRead8Dummy        (UNU struct wiringPiNodeStruct *node, UNU int UNU pin)            { return 0 ; }
      |                     ^~~~~~~~~~~~~~~~~

The related nodes at line 1360 and 1362 have been commented before.

Signed-off-by: MichaIng <micha@dietpi.com>
2021-05-01 21:32:50 +02:00
fanoush
10be9486ff
set WPI_MODE_GPIO as a default mode also for CM4 (#92) 2021-03-30 10:47:47 -05:00
freddyrios
22fac72e1a
fixes WiringPi/WiringPi#100 (#101)
Replaces a bare wait() with waitpid() to only wait on the just-forked process.
2021-02-23 21:20:12 -06:00
Philip Howard
d4b96c7cb4
Merge pull request #85 from namikata2020/rpi4_8g
Add piMemorySize for rpi4 8G
2020-11-26 16:36:49 +00:00
fanoush
1aed7f7c9d Add support for Pi 400 and CM4 2020-11-26 15:57:05 +01:00
namikata2020
6ca0231124 Add piMemorySize for rpi4 8G 2020-10-06 14:50:12 +09:00
FindWaySociety-ykla
7d8188d0bf
Add piMemorySize for rpi4
#include <stdio.h>

int main()
{
	int bRev, bType, bProc, bMfg, bMem, bWarranty ;
	int revision = 12595474; //Convert hexadecimal to decimal
	bRev      = (revision & (0x0F <<  0)) >>  0 ;
        bType     = (revision & (0xFF <<  4)) >>  4 ;
        bProc     = (revision & (0x0F << 12)) >> 12 ;	// Not used for now.
        bMfg      = (revision & (0x0F << 16)) >> 16 ;
        bMem      = (revision & (0x07 << 20)) >> 20 ;
       bWarranty = (revision & (0x03 << 24)) != 0 ;
       printf ("piBoardId: rev: %d, type: %d, proc: %d, mfg: %d, mem: %d, warranty: %d\n",
		bRev, bType, bProc, bMfg, bMem, bWarranty) ;

   return 0;
}

/* revision see https://www.raspberrypi.org/documentation/hardware/raspberrypi/revision-codes/README.md 
*RPI revision is HEX.*\
2020-04-07 17:19:45 +08:00
neuralassembly
651136a110 Keeping compatibility of hardware clock of Pi 4 with earlier versions. 2019-12-30 23:40:30 +09:00
Steve Baker
41f941a78e Fix GPIO pull up/down for Pi4B
Based on this raspi-gpio commit[1] the 2711 chip uses a different method
for pull up/down. This change implements that same method.

With this change, wiringPi now works for the Pi4B with the subset of
functionality used by zynthian.

[1] 80fa7d04ea
2019-12-14 20:42:06 +00:00
Steve Baker
a49f696232 Use correct peripheral address for Pi4B 2019-12-14 02:01:23 +00:00
Steve Baker
aca883a051 Add support for Raspberry Pi 4B
This change make the following commands correctly detect the 4B
however there may be an issue with reading GPIO inputs on the 4B
as they are always returning zero.

The aim of this change is to be the source-equivalent of the binary
package release 2.52[1] which was the last release before upstream
development ceased.

[1] http://wiringpi.com/wiringpi-updated-to-2-52-for-the-raspberry-pi-4b/
2019-12-14 01:09:13 +00:00
Steve Baker
03204c3807 Sync with changes from wiringpi_2.50.orig.tar.gz
Sourced from http://archive.ubuntu.com/ubuntu/pool/universe/w/wiringpi/wiringpi_2.50.orig.tar.gz
2019-12-14 13:42:07 +13:00
Gordon Henderson
8d188fa0e0 update for the v3+ 2018-03-14 07:17:04 +00:00
Gordon Henderson
96344ff712 Fixed GPIO based address for Pi Zero-W 2017-03-03 15:56:24 +00:00
Gordon Henderson
e8da87fbac Added a fix to include -lcrypt for people who can't do it themselves.
Added gpio readall support for the Pi 0W.
2017-03-01 11:55:19 +00:00
Gordon Henderson
70fa99a127 Bumped the version to 2.40 - correctly this time, I hope.
Added fixed for a few minor things. pin driver for rht03/dht type
sensors. Network stuff is experimental - for now.
2017-02-27 19:51:32 +00:00
Gordon Henderson
e687f3f2c6 Pushing to 2.39 as I have have not done the last one rightly... 2017-01-24 12:13:39 +00:00
Gordon Henderson
b1dfc186ef A new version of wiringPi. Added in more stuff and fixed it up
for kernels 4.8 onwards.

Some very old stuff might break.

Additional fixes for the ISR code and some tweaks here and
there. I've removed the checks for some operations that might
fail when using the gpiomem interface - which is now the default
way of doing things - if your program segfaults, then you
may need to use sudo on it.
2016-12-12 14:19:55 +00:00
Gordon Henderson
b0a60c3302 Many changes - tidying up the extensions interfaces.
Updating the GPIO command - new command - allreadall
ScrollPhat code
max31855 code (tested with adafruit breakout board)
more tests
updated rht03 code

Raspberry Pi v3 support.
2016-02-29 06:57:38 +00:00
Gordon Henderson
143b383b8d Added support for the Pimoroni scrollPhat
Added support for the ADS1115 16-bit ADC
Updated the gpio readall command to correctly with with the Compute Module
and fixed a resulting bug in wiringPi...
2016-01-28 19:20:31 +00:00
Gordon Henderson
bb6f08487c Updated wiringPi for the new Pi Zero.
Also affects the Pi v2 which also uses the new Revision
encoding scheme (It was slightly bodged before) This ought
to be relatively future proof, but who knows.

Fixed a minor thing in the examples Makefile
(not that anyone bothers to use it, judging by the emails I get )-:
2015-11-29 21:08:04 +00:00
Gordon Henderson
d79506694d Fixing a few issues - makefile goofs.
Also adding in the stuff for /dev/gpiomem with warnings
and information in the gpio manual page (who reads that
though!)
2015-09-30 16:11:42 +01:00
Gordon Henderson
170dce5f19 Updated the Debian build system thanks to Ian Jackson for the
help.
2015-09-20 19:30:38 +01:00
Gordon Henderson
5edd177112 Updated the board types to cope with an 0014 version in the new compute module 2015-03-08 16:59:33 +00:00
Gordon Henderson
72b2af231b OK. So the Pi v2 I have had older firmware and it wasn't quite
the same as everyone elses.

This is an interim version which will work on both Pi v1 and v2
boards until I have a bit more time to implement the correct
stuff for v2.
2015-02-03 14:53:32 +00:00
Gordon Henderson
7cb817498e OK, so an easier way to manage versions.
Debian package creation - crude, probably violated the Debian policys
but it seems to work just fine...
some other changes.
2015-01-31 16:43:08 +00:00
Gordon Henderson
eb1fc2c920 Updates to the build process
Moved the extensions into wiringPi from gpio and made it more general purpose
more so that RTB and anything else can dymanically add devices
into wiringPi.
Changes to GPIO to updates for the SPI and I2C module loads
Added gpio unload for SPI and I2C.

Added a new way to setup SPI - by passing the mode in.

Support for the new Pi2 thing too
2015-01-30 18:14:49 +00:00
Gordon Henderson
d42e831089 Updated versions for new maker - mbest 2015-01-07 14:26:17 +00:00
Gordon Henderson
0a9fdeb29d Minor changes to the PiGlow code - got the orange & yellow the right way
round at last..

Updated for the 0x0012 board revision on the new A+
2014-11-10 10:55:23 +00:00
Gordon Henderson
df45388f64 Fixed a bug in the gpio readall command on model B's (caused by a side-effect
of changing it for the B+)

Aded a gpio command: usbp hi/low - to change the usb power
2014-07-17 22:23:57 +01:00
Gordon Henderson
dca8a19fb8 Updated mostly to the gpio readall command to support the Raspberry Pi B+ 2014-07-14 08:39:38 +01:00
Gordon Henderson
0150b02478 Fixed a small bug in the ISR code where it was looking for the gpio program.
Should now work correctly on Arch, or other systems that install gpio as
/usr/bin/gpio.
2014-06-27 10:55:39 +01:00
Gordon Henderson
6fba403b2f Updates for the Raspnerry Pi Compute Module - changes to the gpio program
to produce a nicer 'readall' output too.

It also understands new pins 53,54,55 and 56 in wiringPiSetupPhys()
mode to represent the pins on the P5 connector on the Rev 2 Pi's

Changes to pinMode() to allow new modes SOFT_PWM and SOFT_TONE.
2014-06-24 19:23:31 +01:00
Gordon Henderson
05e2f67e7f changed to pin mode to support softPwm.
bugfix in blink.sh - wring pin
improving the maxdetect routing - a little.
gpio pins
2014-05-20 11:43:07 +01:00
Gordon Henderson
f18c8f7204 Added some tweaks to gpio to set alt modes on pins (sssh!) 2013-08-03 23:53:35 +01:00
Gordon Henderson
27698766b2 Fixed delayMicroseconds for more than 1 second.
Added new code for max31855
2013-06-27 21:51:55 +01:00
Gordon Henderson
348bc739d1 Sorted a variable initialisation issue that was giving incorrect results
with wiringPiISR.
Added the ability to readall/reset from extension modules.
Changed the build script to use /bin/sh rather than /bin/bash as it seems
some installations don't have /bin/bash (or if they do, then the people who
are telling me that ./build gives them command not found are wrong)
2013-05-25 13:02:02 +01:00
Gordon Henderson
da38443cb2 wiringPi Version 2 - First commit (of v2) 2013-05-13 19:43:26 +01:00
Gordon Henderson
98bcb20d93 Slight change to the gpio program to fix SPI buffer size when loading
the module.
Typo in gpio man page
Bug fixed in board revision detection (which would never happen
anyway, however)
2013-02-07 21:53:49 +00:00
Gordon Henderson
56c77b5a2e Added a clock mode to enable the GPIo pins to be set with
one of the GPCLK drivers to generate a frequency up to
19.2MHz.

Tidied some code up and added the clock functions into the gpio
utility.
2013-02-01 20:19:22 +00:00
Gordon Henderson
e8f6258004 Quite a few changes here.
Added in generic 'blink' programs in the examples in C, RTB and Shell.
Updated wiringPi with a little big-file on the millis() function and
added in a new micros() function too.
Updated the examples with standard LGPL headers.
Added a new isr-osc.c test program - just for ISR timing purposes.
2013-01-28 13:00:47 +00:00
Gordon Henderson
be04c1bd52 Changed the build system to drop I2C for now. Seems to cause too many issues
on non Raspbian systems (and even on some Raspbian systems it would appear ):

fixed a timing issue on softTone
fixed some issues in wiringPisetup introduced when optimising the mmap calls.
2013-01-19 10:31:14 +00:00
Gordon Henderson
c82fb8735d Updated the build script to better try to detect lack of i2c-dev
(hopefully!)
Also updated all the mmap code in wiringPiSetup() to make it a bit more
sane and efficient to a degree.
2013-01-15 22:38:21 +00:00
Gordon Henderson
c121349a7b Minor changes to messages being printed from wiringPiSetup()
Changed built to work marginally better.
2013-01-15 15:30:26 +00:00
Gordon Henderson
13bbba7a22 Lots of changes here. Added new I2C test code, a new serialTest program,
and developed the new ISR - Interrupt Service Routine
handler - much easier than the old waitForInterrupt code!

Minor tweaks to the gpio program to recognise the environment variable
WIRINGPI_DEBUG too, and removed the printing of the errors from the
main wiringPi setup routines (and added some new ones!)
2013-01-14 11:31:56 +00:00
Gordon Henderson
25e4ec570b Big update here.
delayMicrosecondsHard re-written - again.
Added a serialRead example program, and added in the okLed
to the examples too.
Updated/checked some of the GPIO/PWM code.
Added in some experimental servo and tone generating code and
and example or 2.
Tweaks to the gpio command to correctly load the I2C modules too.
2012-12-06 21:49:41 +00:00
Gordon Henderson
183c5a6b5c More changes to help reflect usage on Rev 2 / 512MB Raspberry Pi's.
Also Makefile tweaks to help improve things somewhat - decided to
read the Makefile manual after some 15 years to updated my make
grey cells somewhat.

New command in the gpio command - readall
2012-10-21 15:25:16 +01:00
Gordon Henderson
86a5c68e08 Updating gpio manual page 2012-10-02 14:32:12 +01:00
Gordon Henderson
538a066c74 Added in some new functions to return the Pi board revision and
allow access to the wiringPi to BCM_GPIO pin mapping tables.
2012-09-16 11:10:55 +01:00