2 Replies Latest reply on Jun 30, 2019 11:08 PM by MaPe_1936286

    Serial NVRAM

    MaPe_1936286

      Hi,

      I need to interface a PSoC4 to a Serial I2C EERAM 47C16 from Microchip.

       

      In PSoC Creator the Serial NVRAM component can handle almost anything about the communication.

      However, I have a limitation with the function which writes the Memory Control Register ( SerialNVRAM_1_MemCtrlRegWrite).

      This function allows to write a dataByte to the SerialNVRAM_MEM_CTR_REG_ADDR which is fixed to 0.

       

      But for the EERAM 47C16 there is also a second Memory Control Register whose address is 0x55 (this is a command register) and it allows to send Store and Recall commands and with the API provided it is not possible to access it.

       

      So I ask some suggestions, how can I extend the Serial NVRAM component functionality ?

      1) Is there a way to modify or add a new function to the Generated Source?

      2) Or is it better to copy and paste the SerialNVRAM_1_MemCtrlRegWrite function to my project code, change the name and modify ?

      3) Or is it possible (maybe) to request an extension of the component to the PSoC Creator developers?

       

      Best Regards

      Maurizio

        • 1. Re: Serial NVRAM
          DheerajK_81

          Hello Maurizio,

           

          Yes, you can extend the functionality by making modifications to the Generated Source files. In the header file SerialNVRAM_1.h you can add another #define for the second memory control register (let's call it SerialNVRAM_I2C_MEM_CTR_REG2_ADDR).

           

          And, then modify/add functions to write to the second memory control register (SerialNVRAM_I2C_MEM_CTR_REG2_ADDR) instead of SerialNVRAM_MEM_CTR_REG_ADDR in SerialNVRAM_1.c file.

           

          After this right click on the project > Build Settings > Code Generation > Skip Code Generation > True. This will ensure all your changes aren't lost when you build the project.

           

          Regards,
          Dheeraj

          1 of 1 people found this helpful
          • 2. Re: Serial NVRAM
            MaPe_1936286

            Thank you Dheeraj

             

            Regards

            Maurizio