Revision history for Perl extension WiringPi::API.
2.3616 2018-03-27
-
merged PR#34; Ensure that one test always runs if PI_BOARD (Thanks
for the pull request James Keenan!)
-
added check in Makefile.PL to ensure that we're on version 2.36+ of
wiringPi
2.3615 2018-03-23
-
added graceful exit from Makefile.PL if wiringPi header file is not
found (closes #33)(Thanks James Keenan for the report)
-
EXPORT_TAGS POD did not include all tags (fixes #32)
2.3614 2017-07-08
-
added t/15-wpi_to_gpio.t to test #12
-
exposed pwm_set_range(), had missed that one previously
-
exposed pwm_set_clock(), maps to pwmSetClock(int divisor) (closes #30)
-
implemented/exposed pwm_set_mode() to set the PWM mode
-
added "PROTOTYPES: DISABLE" to XS file to quell warning (closes #31)
-
added test/sg_servo.pl as an example of the new PWM capabilities (full
tests will be run via RPi::WiringPi auto test platform)
2.3613 2017-07-01
-
integrated wiringSerial, providing basic serial interface support
2.3612 2017-06-24
-
added pin_mode_alt() due to an issue found in RPi::WiringPi. Upon
that module's cleanup() routine, we need to ensure all pins are back
to real default
-
in relation to stevieb9/rpi-lcd#6, added a warning in lcd_init() POD
to always check the return value of the function for a -1 error, else
if you continue on, the code will segfault
2.3611 2017-06-23
-
fix i2c_read_word(). It had the same issue with not sending $data in
as i2c_write_word() did in the last releases Changes entry
-
the issue in the last release regarding Arduino I2C comms has been
solved. See the forum post update in the last entry
2.3610_02 2017-06-22
-
updated Changes with proper date
-
removed all traces of Software PWM from code and documentation, as
even Gordon himself advises not to use it
-
added file information and copyright to the .h and .xs files
-
fix bug in i2c_write_word(), $data param wasn't being sent in, which
resulted in an argument error being thrown from the wiringPi
library
-
putting out as a trial. There are issues with RPi to Arduino I2C
comms...
2.3609 2017-03-26
-
fix unicode POD error
-
fix declaration issue for digitalReadByte2()
-
add a 0.02 second delay in pull_up_down(), as it wasn't returning
fast enough to re-init the pin (this broke interrupts)
2.3608 2017-03-13
-
clarified POD for lcd_put_char() and lcd_char_def()
-
clean up test XS code
-
remove all code related to creating threads. That's out of scope for
this project (closes #2)
-
moved all XS/C declarations into a separate API.h file from API.xs
-
changed versioning scheme from 2.36.x to 2.360x
2.36.7 2017-03-09
-
disable tests when not on a Pi board (within a BEGIN block)
-
added INLINE.h to MANIFEST file (re-closes #8)
-
fix bug in lcd_init(), where we weren't extracting the values from the
argument hash, thereby too many args were being passed into lcdInit()
C function (closes #27)
-
added a workaround for lcd_char_def(). For some reason, we need to
print a zero-width char before calling the C function lcdCharDef().
One day I'll need to sort out why (closes #26)
-
in lcd_char_def(), changed from "V0C*" to "C[8]" for pack()
-
removed duplicate test declaration in t/00-load.t
-
removed the :wiringPi and :perl export tags from POD, we only
advertise :all now, which only exports the Perl functions (all are
still available in code though)
2.36.6 2017-02-22
-
added in I2C support (work on #22)
-
fix a boatload of C warnings due to functions not being pre-declared
(work on #25)
-
added -lrt to LIBS in Makefile.PL to correct a "shm_open() undefined
symbol" error when testing with "make test" (closes #25)
-
removed taint from tests
-
added $state param for lcd_cursor_blink() in POD (closes #24)
-
fix miniscule POD error (closes #17)
-
added "barometric" to the POD's bmp180 section (closes #16)
-
POD typo fix (closes #15)
-
replaced BCM with GPIO in POD (closes #14)
-
fix output constant in get_alt() in POD (PWM_OUT) (closes #13)
2.36.5 2017-02-13
-
lower-cased Inline functions in XS file
2.36.4 2017-01-26
-
modified spiDataRW(). It now returns a Perl array containing the same
number of elements as was sent in. A write aref is sent in (with
dummy bytes in each element) for the size of array you want back that
contains the read data (fixes #23)
2.36.3 2017-01-22
-
changed TOC to "TABLE OF CONTENTS" in POD (closes #18)
-
modified dist description in POD
-
added blurb in softpwm section that this functionality is quite
unreliable
-
removed the code that skipped over the first interrupt in XS, as
the new wiringPi corrected the issue internally
-
added POD for ads1115_setup()
-
added test file for wiringPi's representation of the ADS1115 ADC
-
added support for communicating on the SPI bus (spi_setup() and
spi_data()
-
added spiDataRW() (C), which wraps wiringPiSPIDataRW() so that we
can accept an AV* (aref) before transforming it into the proper
unsigned char* before sending it to wiringPiSPIDataRW()
2.36.2 2017-01-19
-
added function table of contents to POD
-
added declaration of custom wiringPiVersion() in XS, but left it
commented out as it will break CPAN installs at this time
-
added version.patch file in patches/, patch sent to Gordon
-
all four setup routines added to test/setup.pl
-
added in wiringPi's support for the Adafruit ADS1115 analog to digital
converter (I'm going to do a rewrite of this code to support 1015, as
well as allowing all ADC options to be configurable, and hope it gets
included in the next wiringPi cut)
-
added docs/, which includes Fritzing diagrams and schematics
-
added DEVELOPER FUNCTIONS section in POD for dev testing of private,
unpublished or unreleased functions
-
added pseudoPinsSetup() for testing purposes
-
reworded POD for setup() routines, as we no longer require root level
access to run our scripts (yay!)
-
wrote test/pwm.pl, fully tests the hardware PWM functionality
-
added test/pud.pl, testing for pull up/down internal resistors
-
changed board_rev() references in POD to gpio_layout() (fixes #9)
-
added test/pin_translations.pl, test all pin translation functions
-
added pinModeAlt() as a developer function (allows setting any pin to
any valid mode)
-
added digitalReadByte(), digitalReadByte2(), digitalWriteByte() and
digitalWriteByte2() as developer functions. Reads and writes an 8-bit
byte to/from the first and second bank of eight GPIO pins respectively
-
added setup tests, since an issue was found that causes some calls to
crash the system (journal, RO), added root checks. Notes taken on
sourcing the issue(s)
2.36.1 2017-01-15
-
changed version numbering scheme. x.yy.z: x.yy represents the version
of wiringPi we fully support, and z represents updates to this Perl
distribution
-
renamed examples/ to samples/ so they don't show up on the CPAN's
front page for the distribution
-
added exports for physPinToWpi() and phys_to_wpi() to correct a test
breakage
2.36 2017-01-14
-
major updates, we now require wiringPi v2.36+
-
changed version numbering scheme. We now match the wiringPi version
number that we fully support
-
changed piBoardRev() to piGpioLayout(), and board_rev() to
gpio_laout() per changes in wiringPi.c/h
-
added analogRead()/analog_read() and analogWrite()/analog_write() to
support the BMP180 sensor
-
added bmp180_setup()/bmp180Setup()
-
added bmp180_temp() and bmp180_pressure()
-
added POD for all the new functionality
1.05 2017-01-13
-
added support for the SR74HC595 shift register (shift_reg_setup() for
Perl, and the original sr595Setup())
-
added examples/sr.pl for the shift register code
1.04 2016-08-22
-
implemented softPwmCreate(), softPwmWrite() and softPwmStop(), perl:
soft_pwm_create(), soft_pwm_write(), soft_pwm_stop()
-
interrupts now work; added code to stop the erroneous extra call to
the handler on first interrupt
1.03 2016-08-18
-
fixed call to SetupGpio(), case was wrong
-
renamed gpio_scheme() call to pin_scheme()
-
removed erroneous call to external module (pin_scheme())
-
POD cleanup, re-worded $pin descriptions, and fixed up setup*()
routine explanations
1.02 2016-08-16
-
removed references to wiringPi pin numbering scheme being the default
-
added clarification in setup*() routine POD
1.00 2016-08-16
-
new export tags, :wiringPi exports the originally named wiringPi
functions directly from XS. :perl exports the Perl representation
of the functions, and :all exports them all
-
setup_sys() now exports all BCM pins with a system call with sudo,
which alleviates the need to run as user root
-
interrupt code now implemented and working
-
renamed to WiringPi::API
0.06 2016-08-13
-
moved arg validation out of Core and into upper-layer client
software. The idea is to keep this module as close to the C code
as possible, so if this module is used directly, C will handle the
problem
-
wrote custom physPinToWpi() C function, and added a phys_to_wpi()
caller
-
we now shift off the object or class name if it is present in all
sub calls
-
all parameter error handling out, and put it into the upper layers...
we now pretty much call the C functions directly with little overhead
0.05 2016-08-11
-
added all of the wiringPiDev shared library LCD functions, and
mapped them in ::Core
0.04 2016-08-10
-
wiringPiSetupPhys() has been implemented
-
added piBoardRev(), wpiPinToGpio(), physPinToGpio() and pwmSetRange()
functions
-
added Perl->C mappings in POD
0.03 2016-08-10
-
added repo info to Makefile.PL
-
added get_alt(), maps to C getAlt(). This returns the current mode
of a pin. Why it's not called getMode() is beyond me ;)
0.02 2016-08-10
-
added notices to POD
-
added POD for pwm_write()
0.01 2016-08-10
-
separated out from RPi::WiringPi
-
most core and system functions implemented