odroid-wiringpi (3.16.3) stable; urgency=medium

  * ODROID-M1/S: Improve functions
  * Decided not to take gpiod together and deleted DEVMEM.

 -- Steve Jeong <steve@how2flow.net>  Tue, 02 Apr 2024 03:34:43 +0000

odroid-wiringpi (3.16.2) stable; urgency=medium

  * ODROID-M1/S: simplification of operations

 -- Steve Jeong <steve@how2flow.net>  Mon, 25 Mar 2024 01:38:57 +0000

odroid-wiringpi (3.16.1) stable; urgency=medium

  * ODROID-M1S: Supports extra pins

 -- Steve Jeong <steve@how2flow.net>  Mon, 13 Nov 2023 05:35:50 +0000

odroid-wiringpi (3.16.0) stable; urgency=medium

  * ODROID-M1S: New support for ODROID-M1S

 -- Steve Jeong <steve@how2flow.net>  Tue, 07 Nov 2023 11:06:54 +0900

odroid-wiringpi (3.15.4) stable; urgency=medium

  * ODROID-M1: fix pin of softTone and correct typos.

 -- Steve Jeong <steve@how2flow.net>  Wed, 23 Aug 2023 09:44:45 +0900

odroid-wiringpi (3.15.3) stable; urgency=medium

  * The maintainer's email address has been changed.

 -- Steve Jeong <steve@how2flow.net>  Tue, 11 Jul 2023 15:36:39 +0900

odroid-wiringpi (3.15.2) stable; urgency=medium

  * examples: Improve a new example of lcd. (i2c)

 -- Steve Jeong <how2soft@gmail.com>  Fri, 02 Jun 2023 11:46:19 +0900

odroid-wiringpi (3.15.1) stable; urgency=medium

  * examples: Add a new example of lcd. (i2c)

 -- Steve Jeong <how2soft@gmail.com>  Fri, 02 Jun 2023 10:17:26 +0900

odroid-wiringpi (3.15.0) stable; urgency=medium

  * ODROID-COMMON: Rename scripts that access system nodes to more generic.

 -- Steve Jeong <how2soft@gmail.com>  Thu, 20 Apr 2023 10:22:38 +0900

odroid-wiringpi (3.14.6) stable; urgency=medium

  * ODROID-XU3/4: fix wiringPiISR.

 -- Steve Jeong <how2soft@gmail.com>  Mon, 06 Mar 2023 16:58:28 +0900

odroid-wiringpi (3.14.5) stable; urgency=medium

  * change maintainer's e-mail and unify name style.
  * There are no updates compare with 3.14.4.

 -- Steve Jeong <how2soft@gmail.com>  Tue, 03 Jan 2023 12:09:05 +0900

odroid-wiringpi (3.14.4) stable; urgency=medium

  * ODROID-COMMON: improve pwmSetRange

 -- steve <jkhpro1003@gmail.com>  Tue, 20 Dec 2022 09:30:06 +0900

odroid-wiringpi (3.14.3) stable; urgency=medium

  * ODROID-COMMON: remove exit in wiringPiFailure.
  * DEPENDS: libwiringpi-dev: add "pkg-config"

 -- steve <jkhpro1003@gmail.com>  Mon, 19 Dec 2022 15:19:28 +0900

odroid-wiringpi (3.14.2) stable; urgency=medium

  * ODROID-COMMON: update missing M1/N2 pwm and improve pwm API.

 -- steve <jkhpro1003@gmail.com>  Fri, 16 Dec 2022 12:51:39 +0900

odroid-wiringpi (3.14.1) stable; urgency=medium

  * ODROID-COMMON: allow permission pwm sys nodes and use with gpiomem mode.
  * ANDROID: Add Android.mk for android.

 -- steve <jkhpro1003@gmail.com>  Wed, 23 Nov 2022 10:41:05 +0900

odroid-wiringpi (3.14.0) stable; urgency=medium

  * ODROID-N2L: new support ODROID-N2L

 -- steve <jkhpro1003@gmail.com>  Tue, 15 Nov 2022 10:06:52 +0900

odroid-wiringpi (3.13.10) stable; urgency=medium

  * ODROID-COMMON: remove dependency "libgpiod"

 -- steve <jkhpro1003@gmail.com>  Tue, 15 Nov 2022 10:01:52 +0900

odroid-wiringpi (3.13.9) stable; urgency=medium

  * ODROID-M1: modify set pwmRange flag

 -- steve <jkhpro1003@gmail.com>  Tue, 25 Oct 2022 10:20:17 +0900

odroid-wiringpi (3.13.8) stable; urgency=medium

  * ODROID-M1: pwmSetClock: Troubleshooting (2x) frequencies

 -- steve <jkhpro1003@gmail.com>  Wed, 19 Oct 2022 09:25:29 +0900

odroid-wiringpi (3.13.7) stable; urgency=medium

  * ODROID-M1: support PWM OUTPUT. (PWM1. PWM2)

 -- steve <jkhpro1003@gmail.com>  Tue, 04 Oct 2022 17:51:54 +0900

odroid-wiringpi (3.13.6) stable; urgency=medium

  * ODROID-M1: define "DEVMEM" in m1 header. for solving gpiod error on pip package.

 -- steve <jkhpro1003@gmail.com>  Fri, 16 Sep 2022 12:29:00 +0900

odroid-wiringpi (3.13.5) stable; urgency=medium

  * libwiringpi2: update Depends

 -- steve <jkhpro1003@gmail.com>  Tue, 13 Sep 2022 13:57:37 +0900

odroid-wiringpi (9:3.13.4) stable; urgency=medium

  * ODROID-N2/C4/XU4: solve unmet dependencies.

 -- steve <jkhpro1003@gmail.com>  Tue, 13 Sep 2022 11:29:41 +0900

odroid-wiringpi (3.13.4) stable; urgency=medium

  * ODROID-COMMON: [solve] syntax error near unexpected token `LIBCRYPT,'
  * ODROID-XU3/4: New support ODROID-XU3/4.

 -- steve <jkhpro1003@gmail.com>  Thu, 08 Sep 2022 14:15:42 +0900

odroid-wiringpi (3.13.3) stable; urgency=medium

  * ODROID-N2/C4: Add path of ADC in kernel 5.x

 -- steve <jkhpro1003@gmail.com>  Thu, 09 Jun 2022 10:26:57 +0900

odroid-wiringpi (3.13.2) stable; urgency=medium

  * ODROID-M1: Add gpiomem rules

 -- steve <jkhpro1003@gmail.com>  Mon, 18 Apr 2022 16:52:03 +0900

odroid-wiringpi (3.13.1) stable; urgency=medium

  * ODROID-COMMON: Add link libgpiod
  * ODROID-N2/C4: Fix compile error
  * ODROID-N2/C4: Fix postinst error

 -- steve <jkhpro1003@gmail.com>  Fri, 15 Apr 2022 14:37:13 +0900

odroid-wiringpi (3.12) stable; urgency=medium

  *  Rework Debian package scripts

 -- Dongjin Kim <tobetter@gmail.com>  Wed, 19 Jan 2022 08:57:34 +0000

odroid-wiringpi (9:3.9) stable; urgency=medium

  * WiringPi: Android: Add odroidhc4.c to compile on the android platform

 -- Deokgyu Yang <secugyu@gmail.com>  Fri, 20 Nov 2020 10:53:41 +0900

odroid-wiringpi (9:3.8) stable; urgency=medium

  * WiringPi: Add support for Odroid-HC4

 -- Deokgyu Yang <secugyu@gmail.com>  Tue, 17 Nov 2020 18:12:56 +0900

odroid-wiringpi (9:3.7) stable; urgency=medium

  * Odroid-C1/C2: Add I2C support for mainline kernel
  * Odroid-C1: Fix to keep compatibility with Odroid-C series
  * Odroid-C4: Add base number to GPIO_H pad pins

 -- Deokgyu Yang <secugyu@gmail.com>  Mon, 07 Sep 2020 18:00:26 +0900

odroid-wiringpi (9:3.6) stable; urgency=medium

  * Odroid-C4: Correct ADC nodes and change their access number as to the Odroid convention
  * WiringPi: Remove patch string in kernel number and add whole release string

 -- Deokgyu Yang <secugyu@gmail.com>  Tue, 25 Aug 2020 17:22:35 +0900

odroid-wiringpi (9:3.5) stable; urgency=medium

  * Odroid-XU4: Use cmpKernelVersion to determine ADC node
  * WiringPi: Update in response to the latest regulations about I2C/SPI nodes
  * WiringPi: Add cmpKernelVersion and update the kernelVerion structure
  * WiringPi: Remove utsname things from each board's file
  * WiringPi: Add showing current kernel version to the help text
  * WiringPi: Implement storing current operating board's kernel version

 -- Deokgyu Yang <secugyu@gmail.com>  Mon, 24 Aug 2020 17:38:49 +0900

odroid-wiringpi (9:3.4) stable; urgency=medium

  * WiringPi: Add support for Odroid-N2+

 -- Deokgyu Yang <secugyu@gmail.com>  Wed, 15 Jul 2020 16:29:24 +0900

odroid-wiringpi (9:3.3) stable; urgency=medium

  * WiringPi: Check Device Tree first to recognize and change the referenced DT path
  * WiringPi: Android: Redefine some function that's not supported

 -- Deokgyu Yang <secugyu@gmail.com>  Fri, 26 Jun 2020 14:48:28 +0900

odroid-wiringpi (9:3.2) stable; urgency=medium

  * WiringPi: Bring back all of the stuffs I removed to do with peripherals
  * Revert "WiringPi: Android: Apply removes to Android.bp

 -- Deokgyu Yang <secugyu@gmail.com>  Tue, 28 Apr 2020 13:52:52 +0900

odroid-wiringpi (9:3.1) stable; urgency=medium

  * debian: Add explicit package dependency

 -- Deokgyu Yang <secugyu@gmail.com>  Tue, 21 Apr 2020 11:34:20 +0900

odroid-wiringpi (9:3.0) stable; urgency=medium

  * WiringPi: Bump up version to 3.0

 -- Deokgyu Yang <secugyu@gmail.com>  Fri, 17 Apr 2020 16:57:37 +0900

odroid-wiringpi (9:2.44-7.0) stable; urgency=medium

  * Odroid-C4: New support for Odroid-C4
  * WiringPi: Improve logic of getting board information
  * WiringPi: Remove files that seem won't be used or already have not been used
  * WiringPi: Remove unused codes from newVersion script
  * WiringPi: Minor changes
  * WiringPi: Add definition _GNU_SOURCE to remove warnings to do with implicit functions

 -- Deokgyu Yang <secugyu@gmail.com>  Thu, 09 Apr 2020 16:15:28 +0900

odroid-wiringpi (2.44-6.2) stable; urgency=medium

  * WiringPi: Fix issue where 'wiringPiISR' can't run without sudo

 -- Deokgyu Yang <secugyu@gmail.com>  Wed, 19 Feb 2020 14:37:50 +0900

odroid-wiringpi (2.44-6.1) stable; urgency=medium

  * WiringPi: Ignore case when identifying a board
  * gpio: Add options for readall command in help text
  * WiringPi: Make it does not configure /dev/gpiomem during deb package build

 -- Yang Deokgyu <secugyu@gmail.com>  Fri, 14 Feb 2020 11:51:12 +0900

odroid-wiringpi (2.44-6.0) stable; urgency=medium

  * WiringPi: Get model name from Device Tree if not able from cpuinfo
  * wiringPi/Makefile: Remove legacy files when uninstallation
  * build: Clean up build script and do uninstall/clean before install
  * debian: libwiringpi2: Remove previous built header files after installing

 -- Yang Deokgyu <secugyu@gmail.com>  Tue, 24 Dec 2019 11:13:43 +0900

odroid-wiringpi (2.44-5.3) stable; urgency=medium

  * Add a udev rules file for meson-gpiomem for ODROID-C/C2 boards

 -- Yang Deokgyu <secugyu@gmail.com>  Tue, 22 Oct 2019 16:55:23 +0900

odroid-wiringpi (2.44-5.2) stable; urgency=medium

  * Fix for parsing /proc/cpuinfo on ODROID-C

 -- Yang Deokgyu <secugyu@gmail.com>  Tue, 22 Oct 2019 15:27:13 +0900

odroid-wiringpi (2.44-5.1) stable; urgency=medium

  * Fix for parsing /proc/cpuinfo properly

 -- Yang Deokgyu <secugyu@gmail.com>  Tue, 22 Oct 2019 14:47:20 +0900

odroid-wiringpi (2.44-5.0) stable; urgency=medium

  * Add readall '--all' option
    so that 'gpio readall' without any option shows a mini table having width
    length 79
  * Add udev rules to configure /dev/gpiomem if it is set with wrong permission
  * Tune make job counts to improve build speed
  * Refactor gpio/readall.c

 -- Yang Deokgyu <secugyu@gmail.com>  Fri, 20 Sep 2019 15:01:57 +0900

odroid-wiringpi (2.44-4.1) stable; urgency=medium

  * Fix non-root user who has /dev/gpiomem cannot use gpio command properly

 -- Yang Deokgyu <secugyu@gmail.com>  Wed, 11 Sep 2019 11:44:13 +0900

odroid-wiringpi (2.44-4.0) stable; urgency=medium

  * Add wiringPiI2CReadBlock/wiringPiI2CWriteBlock functions
  * Add INPUT_PULLUP and INPUT_PULLDOWN parameters for pinMode function

 -- Joshua Yang <joshua.yang@hardkernel.com>  Wed, 14 Aug 2019 17:02:55 +0900

odroid-wiringpi (2.44-3.0) stable; urgency=medium

  * Add new support for hardware PWM, works only with N2 for now.
  * Add wiringPiSPISetupInterface function for specifying SPI device as a parameter.
  * Improve stability/compatibility for Android support.

 -- Joshua Yang <joshua.yang@hardkernel.com>  Thu, 08 Aug 2019 10:58:42 +0900

odroid-wiringpi (2.44-2.0) stable; urgency=medium

  * Add wiringPiISRCancel function.

 -- Joshua Yang <joshua.yang@hardkernel.com>  Fri, 26 Jul 2019 13:38:53 +0900

odroid-wiringpi (2.44-1.1) stable; urgency=medium

  * Non-maintainer upload.
  * Fix to build package without running extra 'build'

 -- Dongjin Kim <tobetter@gmail.com>  Tue, 16 Jul 2019 05:55:29 -0400

odroid-wiringpi (2.44-1) odroid-unstable; urgency=low

  * Initial version with real Debian source package build for ODROID boards.

 -- Joshua Yang <joshua.yang@hardkernel.com>  Tue, 16 Jul 2019 11:13:49 +0900

wiringpi (2.26~iwj) rpi-unstable; urgency=low

  * Initial version with real Debian source package build.

 -- Ian Jackson <ijackson@chiark.greenend.org.uk>  Sat, 12 Sep 2015 18:31:35 +0100

