fix for mbed lib issue 3 (i2c problem) see also https://mbed.org/users/mbed_official/code/mbed/issues/3 affected implementations: LPC812, LPC11U24, LPC1768, LPC2368, LPC4088

Fork of mbed-src by mbed official

Files at this revision

API Documentation at this revision

Comitter:
humlet
Date:
Sun Jun 30 16:34:50 2013 +0000
Parent:
10:3bc89ef62ce7
Child:
12:5fa2273de5db
Commit message:
fix for mbed lib issue 1 (i2c problem) see also https://mbed.org/users/mbed_official/code/mbed/issues/1

Changed in this revision

vendor/NXP/LPC11U24/hal/i2c_api.c Show annotated file Show diff for this revision Revisions of this file
vendor/NXP/LPC1768/hal/i2c_api.c Show annotated file Show diff for this revision Revisions of this file
vendor/NXP/LPC2368/hal/i2c_api.c Show annotated file Show diff for this revision Revisions of this file
vendor/NXP/LPC4088/hal/i2c_api.c Show annotated file Show diff for this revision Revisions of this file
--- a/vendor/NXP/LPC11U24/hal/i2c_api.c	Fri Jun 14 17:49:17 2013 +0100
+++ b/vendor/NXP/LPC11U24/hal/i2c_api.c	Sun Jun 30 16:34:50 2013 +0000
@@ -258,7 +258,9 @@
         }
     }
     
-    i2c_clear_SI(obj);
+    // clearing the serial interrupt here might cause an unintended rewrite of the last byte
+    // see also issue report https://mbed.org/users/mbed_official/code/mbed/issues/1
+    // i2c_clear_SI(obj);
     
     // If not repeated start, send stop.
     if (stop) {
--- a/vendor/NXP/LPC1768/hal/i2c_api.c	Fri Jun 14 17:49:17 2013 +0100
+++ b/vendor/NXP/LPC1768/hal/i2c_api.c	Sun Jun 30 16:34:50 2013 +0000
@@ -266,7 +266,9 @@
         }
     }
     
-    i2c_clear_SI(obj);
+    // clearing the serial interrupt here might cause an unintended rewrite of the last byte
+    // see also issue report https://mbed.org/users/mbed_official/code/mbed/issues/1
+    // i2c_clear_SI(obj);
     
     // If not repeated start, send stop.
     if (stop) {
--- a/vendor/NXP/LPC2368/hal/i2c_api.c	Fri Jun 14 17:49:17 2013 +0100
+++ b/vendor/NXP/LPC2368/hal/i2c_api.c	Sun Jun 30 16:34:50 2013 +0000
@@ -265,7 +265,9 @@
         }
     }
     
-    i2c_clear_SI(obj);
+    // clearing the serial interrupt here might cause an unintended rewrite of the last byte
+    // see also issue report https://mbed.org/users/mbed_official/code/mbed/issues/1
+    // i2c_clear_SI(obj);
     
     // If not repeated start, send stop.
     if (stop) {
--- a/vendor/NXP/LPC4088/hal/i2c_api.c	Fri Jun 14 17:49:17 2013 +0100
+++ b/vendor/NXP/LPC4088/hal/i2c_api.c	Sun Jun 30 16:34:50 2013 +0000
@@ -275,7 +275,9 @@
         }
     }
     
-    i2c_clear_SI(obj);
+    // clearing the serial interrupt here might cause an unintended rewrite of the last byte
+    // see also issue report https://mbed.org/users/mbed_official/code/mbed/issues/1
+    // i2c_clear_SI(obj);
     
     // If not repeated start, send stop.
     if (stop) {