problem after updating PSoC creator

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Anonymous
Not applicable

yesterday i updated my PSoC creator, when i debug my last program (RTC) which i created in my previous Creator I got problem, my RTC using I2C show the wrong current time. there is no warning or error notification. anyone can help me? 

0 Likes
17 Replies
Bob_Marlowe
Level 10
Level 10
First like given 50 questions asked 10 questions asked

Weird!

   

Usually the Creator versions are co-existent, so there is a good chance that your previous version still exists on your PC.

   

Reading from I2C usually is not influenced by any version changes, but there is an RTC component, did you use that?

   

You didn't tell which board, wich PSoC you used. Helpful would be when you upload your complete project, so that we all can have a look at all of your settings? To do so, use
Creator->File->Create Workspace Bundle (minimal)
and attach the resulting file.

   

 

   

Bob

0 Likes
lock attach
Attachments are accessible only for community members.
Anonymous
Not applicable

id didnt use RTC. my project just include I2C and LCD on it. it is the sample project that i got from u and i modified it succesfully, but yesterday i updated my psoc creator, and it displays a wrong time and  there are some non number character like =,>,< in the place of second. here i attach my project. i am using CY8CKIT-059 PSoC 5lp and DS 1307 Tiny RTC.

0 Likes
Bob_Marlowe
Level 10
Level 10
First like given 50 questions asked 10 questions asked

RTC.c is missing. Copy it to project folder and add it to project

   

Increase heap size to 0x200

   

 

   

Bob

0 Likes
Anonymous
Not applicable

do i need it? where i can find RTC.c file? 

0 Likes
Bob_Marlowe
Level 10
Level 10
First like given 50 questions asked 10 questions asked

Sorry, it was a bit unusual for me to find an RTC.h file and no corresponding .c

   

So you do not need an RTC.c

   

Did you already increase the heap-size?

   

I cannot see where and how you initialize your DS 1307. Can you provide the values in CurrentTime[] after reading?

   

 

   

Bob

0 Likes
Anonymous
Not applicable

i already increase the heap size to 0x200, actually my current time in tiny RTC DS1307 is initialized in another device (arduino) then i just call/get the current time of what my RTC already has. and it works, showing current time correctly, but after i updated my creator, the time went wrong. did have code example about how to initialize my DS1307? i got it so difficult and clueless, it is really different from what i got in arduino about how to initialize the time.
thanks in advance

0 Likes
Bob_Marlowe
Level 10
Level 10
First like given 50 questions asked 10 questions asked

Can you provide the values in CurrentTime[] after reading?

   

 

   

Bob

0 Likes
Anonymous
Not applicable

i cant, Can u explain about this Bob?

   

str[7] = ((Current_time[0]& 0x0F)    +0x30);

   

it convert current time into string, but i dont get the idea about "& 0x0F)    +0x30)" part. 

   

and i think, get current time is only call the information from the DS 1307, but if we want to initialize it, where it should start? and which part we should modify?

0 Likes
Bob_Marlowe
Level 10
Level 10
First like given 50 questions asked 10 questions asked

Can you provide the values in CurrentTime[] after reading?

   

 

   

Bob

0 Likes
Bob_Marlowe
Level 10
Level 10
First like given 50 questions asked 10 questions asked

str[7] = ((Current_time[0]& 0x0F)    +0x30);

   

Conversion of the rightmost nibble into ASCII. Masking out the upper nibble and adding ASCII Zero character.

   

 

   

Bob

0 Likes
lock attach
Attachments are accessible only for community members.
Anonymous
Not applicable

sorry i didnt get the point about what u asking for.

   

this is what serial monitor show to me after i debug the program

   

0 Likes
rola_264706
Level 8
Level 8
50 likes received 25 likes received 10 likes received

I had this problem with my program. It was working and then it stopped working . I couldn't understand why so I purchased another unit and got the same results.  The new unit came without the LIR2032 battery.  I tried the battery from the old unit into the new unit and it still didn't work.  After much research in the datasheet and on the web I discovered that you must rewrite a time to the unit Registers to get the module to start counting time. Also you can not operate the unit without the battery it will not work.  

0 Likes
Anonymous
Not applicable

can you explain how to rewrite the time or initialize it? i got some problems on this.

0 Likes
Bob_Marlowe
Level 10
Level 10
First like given 50 questions asked 10 questions asked

You may use the debugger, set a breakpoint after the RTC has been red and have the debugger showing the values CurrentTime[] actually holds. Make a screenshot.

   

 

   

Bob

0 Likes
lock attach
Attachments are accessible only for community members.
Anonymous
Not applicable

this is what i get after i debug it bob, the value of current time[]

0 Likes
rola_264706
Level 8
Level 8
50 likes received 25 likes received 10 likes received

On application of power to the device the time and date registers are typically reset to 01/01/00 01 00:00:00
(MM/DD/YY DOW HH:MM:SS). The CH bit in the seconds register will be set to a 1.
The clock is halted. You can see that in the reading of  ox88 in the 0 location of the Current_Time. You have to set the time in the DS1307.
 

0 Likes
Bob_Marlowe
Level 10
Level 10
First like given 50 questions asked 10 questions asked

Yes, exactly what I expected. The values show a not-running uninitialized RTC. That was why I wanted to verify that data.

   

 

   

Bob

0 Likes