View previous topic :: View next topic |
Author |
Message |
SherpaDoug
Joined: 07 Sep 2003 Posts: 1640 Location: Cape Cod Mass USA
|
Version 4 progress? |
Posted: Fri Dec 08, 2006 3:55 pm |
|
|
I notice the last comment on the version 4 sticky thread was a couple of weeks ago. Does that mean it has stabilized and people are using it? Or does it mean the developers are chained to their desks for major rework? I notice 3.249 is still available for download. What version are commercial developers actually using for products that pay the bills? _________________ The search for better is endless. Instead simply find very good and get the job done. |
|
|
treitmey
Joined: 23 Jan 2004 Posts: 1094 Location: Appleton,WI USA
|
|
Posted: Fri Dec 08, 2006 4:10 pm |
|
|
I am using 3.249.
The one thing I need (typemod) still doesn't work in V4.x
Being a beta user and posting a bug doesn't mean much when it is never fixed.
I wouldn't be supprised if a lot of the beta testers stopped testing by now. |
|
|
Humberto
Joined: 08 Sep 2003 Posts: 1215 Location: Buenos Aires, La Reina del Plata
|
|
Posted: Fri Dec 08, 2006 4:57 pm |
|
|
I am still using 3.236.
Latelly I had been developing projects which use RS485.
V3.249 do not generate code to handle the RS485 ENABLE control.
I guess that from V4.013 the new compiler is getting more and more stable.
Humberto |
|
|
Ttelmah Guest
|
|
Posted: Sat Dec 09, 2006 4:48 am |
|
|
3.249, does support ENABLE.
In common with quite a few other 'V4' features, parts at least were present in 3.249.
Best Wishes |
|
|
Humberto
Joined: 08 Sep 2003 Posts: 1215 Location: Buenos Aires, La Reina del Plata
|
|
Posted: Sat Dec 09, 2006 7:30 am |
|
|
Quote: |
3.249, does support ENABLE.
|
It support ENABLE, but the version I have DO NOT toggle the ENABLE Pin of
the 485 transceiver to transmition state.
Humberto |
|
|
newguy
Joined: 24 Jun 2004 Posts: 1908
|
|
Posted: Sat Dec 09, 2006 1:46 pm |
|
|
I'm still using 3.236. No way am I switching to v4 until it's somewhat stable......rough guess would be April-May or so at the earliest. |
|
|
sjbaxter
Joined: 26 Jan 2006 Posts: 141 Location: Cheshire, UK
|
|
Posted: Sun Dec 10, 2006 2:25 pm |
|
|
I'm still using 3.236.
Tried 3.242 but structs get allocated incorrectly causing data corruption. (All my apps involve CAN which relies heavily on structs !). Not tried 3.249 or 4.0xx as 3.236 does everything I need ... reliably. Won't consider upgrading until v4 is stable or a device I use isn't supported by by the current version I have !!! _________________ Regards,
Simon. |
|
|
PCM programmer
Joined: 06 Sep 2003 Posts: 21708
|
|
Posted: Sun Dec 10, 2006 2:33 pm |
|
|
Quote: |
Tried 3.242 but structs get allocated incorrectly causing data corruption. |
Can you give an example of this (a test program) or post a link ?
I would like to test this. |
|
|
sjbaxter
Joined: 26 Jan 2006 Posts: 141 Location: Cheshire, UK
|
|
Posted: Sun Dec 10, 2006 3:08 pm |
|
|
PCM, I described it in the post:
http://www.ccsinfo.com/forum/viewtopic.php?t=26107
I only have 3.242 available on my work PC so I can't reproduce it for a few days, but If you can't reproduce it then I'll post some code later in the week. _________________ Regards,
Simon. |
|
|
PCM programmer
Joined: 06 Sep 2003 Posts: 21708
|
|
Posted: Sun Dec 10, 2006 3:45 pm |
|
|
Thanks. I'll look at it and comment later. |
|
|
PCM programmer
Joined: 06 Sep 2003 Posts: 21708
|
|
Posted: Sun Dec 10, 2006 9:53 pm |
|
|
In your post, you said the compiler is calculating the size of the structures
incorrectly. I made the following test program and compiled it with PCH
vs. 3.242. It worked OK. Can you post a test program that fails ?
Here's part of the symbol table:
Code: |
msgRx0 00000005 // Length = 0x0F bytes
rxStat0 00000014 // Length = 4 bytes
temp 00000018
|
Here's the code generated for the sizeof() statements:
Code: |
... result = sizeof(msgRx0);
0018 0E0F MOVLW 0F
001A 6E1C MOVWF 1C
... result = sizeof(rxStat0);
001C 0E04 MOVLW 04
001E 6E1C MOVWF 1C
|
Code: |
#include <18F4580.h>
#fuses HS, NOWDT, PUT, BROWNOUT, NOLVP
#use delay(clock=20000000)
struct CAN_Message {
int32 id;
int1 rtr;
int1 ext;
int dlc;
int priority;
union CAN_Message_Data
{
int idata[8];
int16 ldata[4];
int32 fdata[2];
} data;
};
struct rx_stat {
int1 err_ovfl;
int filthit;
int buffer;
int1 rtr;
int1 ext;
int1 inv;
};
struct CAN_Message msgRx0;
struct rx_stat rxStat0;
struct rx_stat temp;
//===============================
void main()
{
int8 result;
result = sizeof(msgRx0);
result = sizeof(rxStat0);
while(1);
}
|
|
|
|
sjbaxter
Joined: 26 Jan 2006 Posts: 141 Location: Cheshire, UK
|
|
Posted: Mon Dec 11, 2006 7:45 am |
|
|
I'm not in the office until Thursday, so I'll post some code when I'm back in. As you can see from my old post, the symbol file extract shows the allocation problem.
The only difference that I can think of is that the rx_stat struct was defined in another file which was then #included (i.e. the CAN drivers provided by CCS). _________________ Regards,
Simon. |
|
|
|