Lib. for Atmel 1Mbits Serial EEPROM, AT24C1024B

Dependents:   LPC1114_data_logger dmx_to_stepper BSM02 LPC1114_barometer_with_data_logging

Files at this revision

API Documentation at this revision

Comitter:
kenjiArai
Date:
Sun Jun 07 07:54:11 2015 +0000
Parent:
2:36339fd174d0
Child:
4:1c6bba12f698
Commit message:
changed address data type from int to uint32_t

Changed in this revision

AT24C1024.cpp Show annotated file Show diff for this revision Revisions of this file
AT24C1024.h Show annotated file Show diff for this revision Revisions of this file
--- a/AT24C1024.cpp	Sun Feb 22 01:24:19 2015 +0000
+++ b/AT24C1024.cpp	Sun Jun 07 07:54:11 2015 +0000
@@ -28,7 +28,7 @@
     AT24C1024_addr = AT24C1024ADDR;
 }
 
-uint8_t AT24C1024::read(int addr)
+uint8_t AT24C1024::read(uint32_t addr)
 {
     uint8_t eep_dt[2];
     uint8_t tmp_addr;
@@ -39,12 +39,12 @@
     }
     eep_dt[0] = ( uint8_t )( (addr & 0xff00) >> 8 );
     eep_dt[1] = ( uint8_t )( (addr & 0xff) );
-    _i2c.write((int)tmp_addr, (char *)eep_dt, 2);
-    _i2c.read((int)tmp_addr, (char *)eep_dt, 1);
+    _i2c.write((uint8_t)tmp_addr, (char *)eep_dt, 2);
+    _i2c.read((uint8_t)tmp_addr, (char *)eep_dt, 1);
     return eep_dt[0];
 }
 
-void AT24C1024::write(int addr, uint8_t dt)
+void AT24C1024::write(uint32_t addr, uint8_t dt)
 {
     uint8_t eep_dt[3];
     uint8_t tmp_addr;
@@ -56,7 +56,7 @@
     eep_dt[0] = ( uint8_t )( (addr & 0xff00) >> 8 );
     eep_dt[1] = ( uint8_t )( (addr & 0xff) );
     eep_dt[2] = dt;
-    _i2c.write((int)tmp_addr, (char *)eep_dt, 3);
+    _i2c.write((uint8_t)tmp_addr, (char *)eep_dt, 3);
 }
 
 AT24C_STATUS AT24C1024::read_page(uint32_t addr_page_top, uint8_t *dt, int size)
@@ -72,8 +72,8 @@
             }
             eep_dt[0] = ( uint8_t )( (addr_page_top & 0xff00) >> 8 );
             eep_dt[1] = 0;
-            _i2c.write((int)tmp_addr, (char *)eep_dt, 2);
-            _i2c.read((int)tmp_addr, (char *)dt, 256);
+            _i2c.write((uint8_t)tmp_addr, (char *)eep_dt, 2);
+            _i2c.read((uint8_t)tmp_addr, (char *)dt, 256);
             return AT24C_OK;
         } else {
             return AT24C_WRONG_TOP_ADDR;
@@ -99,7 +99,7 @@
             }
             dt[0] = ( uint8_t )( (addr_page_top & 0xff00) >> 8 );
             dt[1] = 0;
-            _i2c.write((int)tmp_addr, (char *)dt, 256 + 2);
+            _i2c.write((uint8_t)tmp_addr, (char *)dt, 256 + 2);
             return AT24C_OK;
         } else {
             return AT24C_WRONG_TOP_ADDR;
--- a/AT24C1024.h	Sun Feb 22 01:24:19 2015 +0000
+++ b/AT24C1024.h	Sun Jun 07 07:54:11 2015 +0000
@@ -6,7 +6,7 @@
  *  http://www.page.sannet.ne.jp/kenjia/index.html
  *  http://mbed.org/users/kenjiArai/
  *      Created: June      17th, 2014
- *      Revised: Feburary  21st, 2015
+ *      Revised: June       7th, 2015
  *
  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
  * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE
@@ -70,13 +70,13 @@
       * @param dat_address (0 to 0x1ffff)
       * @return read data
       */
-    uint8_t read(int addr);
+    uint8_t read(uint32_t addr);
 
     /** Write one data to EEPROM
       * @param data_address (o to 0x1ffff), data (byte)
       * @return none
       */
-    void write(int addr, uint8_t dt);
+    void write(uint32_t addr, uint8_t dt);
 
     /** Page read (256 bytes) from EEPROM
       * @param top_address (o to 0x1ffxx) e.g. 0x00,0x100,0x200 --- 0x1fe00, 0x1ff00