diff options
author | patacongo <patacongo@7fd9a85b-ad96-42d3-883c-3090e2eb8679> | 2012-06-25 15:24:52 +0000 |
---|---|---|
committer | patacongo <patacongo@7fd9a85b-ad96-42d3-883c-3090e2eb8679> | 2012-06-25 15:24:52 +0000 |
commit | c8f02e00cd16f5031baad36615ec3dd76c575e02 (patch) | |
tree | c54b6f422f5022a992ecfbb84353ea2cfe7527ca /nuttx | |
parent | 1301f3da90d0473278ac13a80bbef90957b3cb8c (diff) | |
download | px4-firmware-c8f02e00cd16f5031baad36615ec3dd76c575e02.tar.gz px4-firmware-c8f02e00cd16f5031baad36615ec3dd76c575e02.tar.bz2 px4-firmware-c8f02e00cd16f5031baad36615ec3dd76c575e02.zip |
Fix a critical PIC32 GPIO configuration bug
git-svn-id: https://nuttx.svn.sourceforge.net/svnroot/nuttx/trunk@4867 7fd9a85b-ad96-42d3-883c-3090e2eb8679
Diffstat (limited to 'nuttx')
-rw-r--r-- | nuttx/ChangeLog | 3 | ||||
-rwxr-xr-x | nuttx/Documentation/NxWidgets.html | 21 | ||||
-rw-r--r-- | nuttx/arch/mips/src/pic32mx/pic32mx-gpio.c | 8 | ||||
-rw-r--r-- | nuttx/arch/mips/src/pic32mx/pic32mx-ioport.h | 1 |
4 files changed, 27 insertions, 6 deletions
diff --git a/nuttx/ChangeLog b/nuttx/ChangeLog index 15a09989d..626af37ed 100644 --- a/nuttx/ChangeLog +++ b/nuttx/ChangeLog @@ -2923,5 +2923,8 @@ the Mirtoo module. * configs/mirtoo/scripts: Move all Mirtoo linker scripts to a common directory. + * arch/mips/src/pic32mx/pic32mx-gpio.c: All digital inputs were being + configured as outputs. This is a *critical* bug fix and needs to be + incorporated by any PIC32 users. diff --git a/nuttx/Documentation/NxWidgets.html b/nuttx/Documentation/NxWidgets.html index 165248145..cef99d494 100755 --- a/nuttx/Documentation/NxWidgets.html +++ b/nuttx/Documentation/NxWidgets.html @@ -57,7 +57,26 @@ </p> <h1>NXWidgets DOxygen Documentation</h1> <p> - DOxygen documentation for the NxWidgets-1.0 is now available online at <a href="http://www.nx-engineering.com/nxwidgets_v1_0/">this location</a>. + Release notes, DOxygen documentation, as well as downloads for the latest NxWidgets releases are available online: +</p> +<ul> + <li> + <b>NxWidgets-1.0</b>: + <a href="http://www.nx-engineering.com/nxwidgets_v1_0/">Documentation</a>, and + <a href="http://sourceforge.net/projects/nuttx/files/NxWidgets/NxWidgets-1.0/">Downloads</a> + </li> + <li> + <b>NxWidgets-1.1</b>: + <a href="http://www.nx-engineering.com/nxwidgets_v1_1/">Documentation</a>, + <a href="http://sourceforge.net/projects/nuttx/files/NxWidgets/NxWidgets-1.1/">Release notes</a>, and + <a href="http://sourceforge.net/projects/nuttx/files/NxWidgets/NxWidgets-1.1/">Downloads</a> + </li> + <li> + <b>NxWidgets-1.2</b>: + <a href="http://www.nx-engineering.com/nxwidgets_v1_2/">Documentation</a>, + <a href="http://sourceforge.net/projects/nuttx/files/NxWidgets/NxWidgets-1.2/">Release notes</a>, and + <a href="http://sourceforge.net/projects/nuttx/files/NxWidgets/NxWidgets-1.2/">Downloads</a> + </li> </p> <p> Thanks go to Jose Pablo Carballo for contributing this! diff --git a/nuttx/arch/mips/src/pic32mx/pic32mx-gpio.c b/nuttx/arch/mips/src/pic32mx/pic32mx-gpio.c index a4bef4783..ecff125ad 100644 --- a/nuttx/arch/mips/src/pic32mx/pic32mx-gpio.c +++ b/nuttx/arch/mips/src/pic32mx/pic32mx-gpio.c @@ -160,7 +160,7 @@ int pic32mx_configgpio(uint16_t cfgset) sched_lock(); if (pic32mx_output(cfgset)) { - /* It is an output; set the corresponding bit in the TRIS register */ + /* It is an output; clear the corresponding bit in the TRIS register */ putreg32(1 << pin, base + PIC32MX_IOPORT_TRISCLR_OFFSET); @@ -189,11 +189,9 @@ int pic32mx_configgpio(uint16_t cfgset) } else { - /* It is an input; clear the corresponding bit in the TRIS - * register. - */ + /* It is an input; set the corresponding bit in the TRIS register. */ - putreg32(1 << pin, base + PIC32MX_IOPORT_TRISCLR_OFFSET); + putreg32(1 << pin, base + PIC32MX_IOPORT_TRISSET_OFFSET); putreg32(1 << pin, base + PIC32MX_IOPORT_ODCCLR_OFFSET); } diff --git a/nuttx/arch/mips/src/pic32mx/pic32mx-ioport.h b/nuttx/arch/mips/src/pic32mx/pic32mx-ioport.h index 578ce055b..fb70676fe 100644 --- a/nuttx/arch/mips/src/pic32mx/pic32mx-ioport.h +++ b/nuttx/arch/mips/src/pic32mx/pic32mx-ioport.h @@ -73,6 +73,7 @@ # define PIC32MX_IOPORT_ODCCLR_OFFSET 0x0044 /* Open drain control clear register */ # define PIC32MX_IOPORT_ODCSET_OFFSET 0x0048 /* Open drain control set register */ # define PIC32MX_IOPORT_ODCINV_OFFSET 0x004c /* Open drain control invert register */ + # define PIC32MX_IOPORT_CNPU_OFFSET 0x0050 /* Change Notification Pull-up register */ # define PIC32MX_IOPORT_CNPUCLR_OFFSET 0x0054 /* Change Notification Pull-up clear register */ # define PIC32MX_IOPORT_CNPUSET_OFFSET 0x0058 /* Change Notification Pull-up set register */ |