This is the mail archive of the ecos-patches@sourceware.org mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [ECOS] Bugfix for hal/arm/at91/at91sam7sek/current/src/at91sam7sek_misc.c error in bitmask offset


On Tue, Oct 16, 2007 at 10:06:35AM +0200, Rasmus Stougaard wrote:
> Hi,
> 
> I found a bug in
> 
> hal/arm/at91/at91sam7sek/current/src/at91sam7sek_misc.c
> in the function hal_at91_led().
> By mistake the pins are not addressed correctly, the bitmask for the
> diodes should start at PA0 instead of PA1.

Thanks. I committed the attached patch.

        Andrew
Index: packages/hal/arm/at91/at91sam7sek/current/ChangeLog
===================================================================
RCS file: /cvs/ecos/ecos/packages/hal/arm/at91/at91sam7sek/current/ChangeLog,v
retrieving revision 1.2
diff -u -r1.2 ChangeLog
--- packages/hal/arm/at91/at91sam7sek/current/ChangeLog	7 Jan 2007 15:24:06 -0000	1.2
+++ packages/hal/arm/at91/at91sam7sek/current/ChangeLog	16 Oct 2007 12:35:10 -0000
@@ -1,3 +1,9 @@
+2007-10-16  Andrew Lunn  <andrew.lunn@ascom.ch>
+
+	* src/at91sam7sek_misc.c (hal_at91_led): Fix off by one error on
+	GPIO lines for LEDs. Reported by Rasmus Stougaard
+	<rasmus.stougaard@gmail.com>
+
 2007-01-02  Uwe Kindler <uwe_kindler@web.de>
 
 	* cdl/hal_arm_at91sam7s.cdl Moved HAL_PLATFORM_XXX defines and
Index: packages/hal/arm/at91/at91sam7sek/current/src/at91sam7sek_misc.c
===================================================================
RCS file: /cvs/ecos/ecos/packages/hal/arm/at91/at91sam7sek/current/src/at91sam7sek_misc.c,v
retrieving revision 1.1
diff -u -r1.1 at91sam7sek_misc.c
--- packages/hal/arm/at91/at91sam7sek/current/src/at91sam7sek_misc.c	2 Jun 2006 18:22:22 -0000	1.1
+++ packages/hal/arm/at91/at91sam7sek/current/src/at91sam7sek_misc.c	16 Oct 2007 12:35:10 -0000
@@ -67,10 +67,10 @@
   HAL_ARM_AT91_GPIO_CFG_PULLUP(AT91_GPIO_PA3, AT91_PIN_PULLUP_DISABLE);
 
   // Set the bits. The logic is inverted 
-  HAL_ARM_AT91_GPIO_PUT(AT91_GPIO_PA1, !(val & 1));
-  HAL_ARM_AT91_GPIO_PUT(AT91_GPIO_PA2, !(val & 2));
-  HAL_ARM_AT91_GPIO_PUT(AT91_GPIO_PA3, !(val & 4));
-  HAL_ARM_AT91_GPIO_PUT(AT91_GPIO_PA4, !(val & 8));
+  HAL_ARM_AT91_GPIO_PUT(AT91_GPIO_PA0, !(val & 1));
+  HAL_ARM_AT91_GPIO_PUT(AT91_GPIO_PA1, !(val & 2));
+  HAL_ARM_AT91_GPIO_PUT(AT91_GPIO_PA2, !(val & 4));
+  HAL_ARM_AT91_GPIO_PUT(AT91_GPIO_PA3, !(val & 8));
 }
 
 //--------------------------------------------------------------------------

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]