PDA

View Full Version : WRITE: One more PBP 2.60 Surprise ...



Acetronics2
- 23rd August 2009, 12:55
If Mode=2 then ' Save Target Temperature (Mode1 -> Mode2)
WRITE 0, TargetTemp / 256 ' TargetTemp MSB
WRITE 1, TargetTemp MOD 256 ' TargetTemp LSB
EndIf

If Mode > 2 Then ' Save Hysteresis (Mode 2 -> Mode 0)
Mode=0 ' Only 0, 1, 2 are valid
WRITE 2, Hyst / 10 ' Divide Hyst value to fit in Byte
EndIf


This was compiling in PBP 2.50c / MPLAB...

NOW with PBP2.60




Error[113] C:\PROGRAM FILES\MICROCHIP\MPLAB IDE\PBP\PBPPIC14.LIB 607 : Symbol not previously defined (WRITE)
Error[113] C:\PROGRAM FILES\MICROCHIP\MPLAB IDE\PBP\PBPPIC14.LIB 609 : Symbol not previously defined (WRITE)
Error[113] C:\PROGRAM FILES\MICROCHIP\MPLAB IDE\PBP\PBPPIC14.LIB 616 : Symbol not previously defined (WRITE)
Error[113] C:\PROGRAM FILES\MICROCHIP\MPLAB IDE\PBP\PBPPIC14.LIB 661 : Symbol not previously defined (WRITE)
Error[113] C:\PROGRAM FILES\MICROCHIP\MPLAB IDE\PBP\PBPPIC14.LIB 607 : Symbol not previously defined (WRITE)
Error[113] C:\PROGRAM FILES\MICROCHIP\MPLAB IDE\PBP\PBPPIC14.LIB 609 : Symbol not previously defined (WRITE)
Error[113] C:\PROGRAM FILES\MICROCHIP\MPLAB IDE\PBP\PBPPIC14.LIB 616 : Symbol not previously defined (WRITE)
Error[113] C:\PROGRAM FILES\MICROCHIP\MPLAB IDE\PBP\PBPPIC14.LIB 661 : Symbol not previously defined (WRITE)
Error[113] C:\PROGRAM FILES\MICROCHIP\MPLAB IDE\PBP\PBPPIC14.LIB 607 : Symbol not previously defined (WRITE)
Error[113] C:\PROGRAM FILES\MICROCHIP\MPLAB IDE\PBP\PBPPIC14.LIB 609 : Symbol not previously defined (WRITE)
Error[113] C:\PROGRAM FILES\MICROCHIP\MPLAB IDE\PBP\PBPPIC14.LIB 616 : Symbol not previously defined (WRITE)
Error[113] C:\PROGRAM FILES\MICROCHIP\MPLAB IDE\PBP\PBPPIC14.LIB 661 : Symbol not previously defined (WRITE)
Halting build on first failure as requested.
BUILD FAILED: Sun Aug 23 13:51:04 2009


... keep cool !!!

You should Write now :



If Mode=2 then ' Save Target Temperature (Mode1 -> Mode2)

Dummy = TargetTemp / 256
WRITE 0,Dummy ' TargetTemp MSB

Dummy = TargetTemp MOD 256
WRITE 1,Dummy ' TargetTemp LSB
EndIf

If Mode > 2 Then ' Save Hysteresis (Mode 2 -> Mode 0)
Mode=0 ' Only 0, 1, 2 are valid

Dummy = Hyst / 10
WRITE 2,Dummy ' Divide Hyst value to fit in Byte
EndIf


Alain

Darrel Taylor
- 23rd August 2009, 19:40
Yeah, I saw that one last month and reported it. It happens if ONLY WORD variables are used with WRITE. If you use a WRITE with a BYTE var anywhere in the program, the WRITE's with WORD vars will be ok. Or you could fix the problem in the .MAC file.




The WRITE?W macro is missing the WRITE_USED = 1 line.
If a WORD variable is used, it gives a [225] undefined symbol 'write' error.

If any other write statements (without WORDs) are in the program, it's OK.
Or adding DEFINE WRITE_USED 1 works too.


WRITE?W macro Win
MOVE?WA Win
L?CALL WRITE
endm
WRITE_USED = 1 ; <------ Missing
endmod


HTH,
DT


They mentioned something about creating a list of problems on thier website since the fixes won't be available untill the next Patch.
But I don't know when or if that will happen.

Archangel
- 23rd August 2009, 22:20
Yeah, I saw that one last month and reported it. It happens if ONLY WORD variables are used with WRITE. If you use a WRITE with a BYTE var anywhere in the program, the WRITE's with WORD vars will be ok. Or you could fix the problem in the .MAC file.



They mentioned something about creating a list of problems on thier website since the fixes won't be available untill the next Patch.
But I don't know when or if that will happen.
I fixed all the 2.6 issues by reinstalling 2.5

Darrel Taylor
- 23rd August 2009, 22:39
I fixed all the 2.6 issues by reinstalling 2.5

You should have a separate installation for every version that you own.

MicroCode Studio recognizes the different versions and puts a Drop-Down box next to the "Compile" button.
You can select which version you want to compile with.
And when you want to play with 2.60 you can.

The ArrayRead/ArrayWrite statements alone make 2.60 worth it.
But there's so much more beyond that.

My installations look something like this ...
C:\PIC\
C:\PIC\PBP245\
C:\PIC\PBP246\
C:\PIC\PBP247\
C:\PIC\PBP250\
C:\PIC\PBP250c\
C:\PIC\PBP260b1\
C:\PIC\PBP260\

rsocor01
- 24th August 2009, 03:13
So far, I have been able to accomplish all of my projects using PBP 2.5, so I am going to wait until they fix all the issues with 2.6 to make the transition. I haven't been able to find the PDF manual for PBP 2.6 in melabs.com. Does anybody know the link for this manual?

Robert

Ioannis
- 24th August 2009, 08:46
Yes. The link is on their CD...

Ioannis

Acetronics2
- 24th August 2009, 09:20
The ArrayRead/ArrayWrite statements alone make 2.60 worth it.
But there's so much more beyond that.


Hi, Darrel

I lost two full days with the 2.60 Upgrade ...

Hunting bugs

Updating ALL the MPLAB existing projects ( MCS + µChip programmers = NOT so good, yeah ! ).

PLUS some program mods due to ... a "little" bigger code produced. ( I've noted ~ 1%, 12F series seem to suffer a maximum ... )

many of my program just were fitting into Prog memory of the pics !!!


Sooooo, considering ALL the new functions offered ...

The one I prefer is the " Memory usage gauge " at last accecpting to work with PBP ...
The second is, AT LAST, the ability to call PBPL from the MPLAB Project window.


This " MPLAB compatibility release " ( What it was looked for, at first ...) , to me , REALLY is far too expensive ...

Deceived ??? ... YES, for sure !!!

Alain

Charles Linquis
- 24th August 2009, 17:43
Is there anyone compiling a list of known bugs in 2.60? Like Darrel, I find the improvements worthwhile, but my "base" code is so large and uses pretty much every possible instruction (sometimes in weird ways) that I can't easily do a full regression test.

But a known bug list would help me figure out what to test first.

Acetronics2
- 24th August 2009, 17:52
Hi, Charles

+1 for the bugs list ...

LOL ( Generally, the bug list is available with the next Upgrade ... eventually patch !!! )

Alain

rsocor01
- 24th August 2009, 18:28
Ioannis,

The PBP 2.5 manual in pdf or html format can be downloaded for free from the website melabs.com. So, I thought they probably posted the new manual so people can take a look at the new goodies before buying it.

All,
Yes, mecanique or whoever writes PBP is probably working in their buglist before releasing a patch with all the fixes. In the meanwhile, to avoid new headaches I will continue using my "old" PBP 2.5.

Robert

Charles Linquis
- 24th August 2009, 21:00
A good user-supported bug list would go a long way in making people comfortable with any upgrade. It would also be a good way for MELabs to get input. I'm certain that Darrel is doing a great job telling them what he finds, but he is only one person.

The problem with the "bug-list" approach is that without proper moderation, it could easily degenerate into an alternate PBP forum.

Charles_Leo
- 24th August 2009, 22:23
I've been considering a "known issues" list in the support section of our website. Would that help? Discussion could take place here on the forum, though I might need an email wakeup call occasionally. Once things are defined and confirmed, I could update the website with a summary.

All submitted bug reports are investigated, but only a few are confirmed. The investigation process is part of my support responsibility, as is the listing of the issues.

I believe there are currently two confirmed bugs in PBP 2.60.

1.) The WRITE command issue described in this thread. The best workaround is the define that Darrel mentioned:



DEFINE WRITE_USED 1


2.) The header files 16F1826.BAS and 16F1827.BAS have bad register aliases. Each file can be corrected with:



PORTL VAR PORTB
PORTH VAR PORTA ' PORTC invalid, change to PORTA
TRISL VAR TRISB
TRISH VAR TRISA ' TRISC invalid, change to TRISA

Charles Linquis
- 24th August 2009, 23:11
A known issues list would be a perfect solution for me.

The fact that I didn't know the WRITE problem existed scares me to death because I use that function extensively to store variables. My '8723's have 1024 bytes of EEPROM, so I'm often writing to locations above $FF.

Archangel
- 25th August 2009, 05:05
You should have a separate installation for every version that you own.

MicroCode Studio recognizes the different versions and puts a Drop-Down box next to the "Compile" button.
You can select which version you want to compile with.
And when you want to play with 2.60 you can.

The ArrayRead/ArrayWrite statements alone make 2.60 worth it.
But there's so much more beyond that.

My installations look something like this ...
C:\PIC\
C:\PIC\PBP245\
C:\PIC\PBP246\
C:\PIC\PBP247\
C:\PIC\PBP250\
C:\PIC\PBP250c\
C:\PIC\PBP260b1\
C:\PIC\PBP260\
I probably will do that, ArrayRead/ArrayWrite, was why I bought the upgrade, haven't figured out how to use the yet, the DO Loop sort of ticked me off, have to edit all my old programs, honestly i didn't know that separate installations could reside together.

Ioannis
- 25th August 2009, 08:07
Ioannis,

The PBP 2.5 manual in pdf or html format can be downloaded for free from the website melabs.com. So, I thought they probably posted the new manual so people can take a look at the new goodies before buying it.
Robert

There is a reason that people of Melabs do not publish the New Manual immediatly, as the hackers are ready to distribute the software. Without manual the new version is a little useless to most.

Ioannis

Charles_Leo
- 25th August 2009, 14:18
The WRITE issue will always cause a compile error. There are no "silent" bugs in PBP 2.60 as far as I know. If you get a successful compile, you should be ok.

I felt the same pain as Joe, at first. All of our sample programs had to be edited to change the "loop" label. I remember questioning the wisdom of making LOOP a reserved word, given that our published examples had used the word as a label for so many years. In the end, after much consideration, it was decided that the utility of the DO..LOOP structure would be worth the effort for the majority of users.

The fact that 2.50C could easily be maintained alongside 2.60 was a factor in the decision. It seems that this capability should be made more apparent. I'll try to remedy this. Our policy has always been to never force users to upgrade and to always allow versions to coexist.

This seems like a good spot to point out that users should always run the latest patch for their version of PBP. We release patches when we feel that the number of fixes warrants it. The reason there were A, B, and C patches for 2.50 is because we found issues that we felt obligated to fix. Version 2.50 was a major change in PBP and it took a while for the fallout to settle. If you continue to use version 2.50, I highly recommend that you go to our site and download the 2.50C patch.

http://melabs.com/support/patches.htm

Ioannis is correct about the manual. Sometimes it seems like the thieves have our latest version before I do. We have resisted license keys and registration servers for a long time, but I don't know if we can hold out much longer. It may be that the inconvenience of a required registration would be offset by other conveniences that it would allow, like a downloadable manual. I would like to thank all of you who have resisted the temptation to share illegally and encouraged others to purchase a legal copy. PBP would not exist if it weren't for so many honorable users.

Acetronics2
- 25th August 2009, 15:29
Ioannis is correct about the manual. Sometimes it seems like the thieves have our latest version before I do. We have resisted license keys and registration servers for a long time, but I don't know if we can hold out much longer. It may be that the inconvenience of a required registration would be offset by other conveniences that it would allow, like a downloadable manual. I would like to thank all of you who have resisted the temptation to share illegally and encouraged others to purchase a legal copy. PBP would not exist if it weren't for so many honorable users.


Hi,

Licence Keys ...

Yesss, looks fine ... but ...

The only thing I saw really working is the " DONGLES " ...

Knowing a society can sell you a " soft dongle " ( they are honest ... Dongles are for old " out of the market " progs - ; the Ultimate technology Scheme Capture / PCB / Routing suite i.e. ).
Those " soft dongles " also have a cost ... !!!

TO ME, this is the best protective device easily usable ... at low cost.

The miracle protecting device or key ??? I'd like to see !!!

Alain

rsocor01
- 25th August 2009, 20:35
Quote:
There is a reason that people of Melabs do not publish the New Manual immediatly, as the hackers are ready to distribute the software. Without manual the new version is a little useless to most. Ioannis.


Yes, that makes sense.

Robert

Archangel
- 25th August 2009, 21:13
Sometimes it seems like the thieves have our latest version before I do. We have resisted license keys and registration servers for a long time, but I don't know if we can hold out much longer. It may be that the inconvenience of a required registration would be offset by other conveniences that it would allow, like a downloadable manual. I would like to thank all of you who have resisted the temptation to share illegally and encouraged others to purchase a legal copy. PBP would not exist if it weren't for so many honorable users.
Hi Leo,
To address this issue:License keys are a reality, like them or not. I would like to see instead a serial numbered executable registered with MeLabs, so when the pirates sell their purloined product it becomes actionable by you in court. 1000 copies @ $250 + court costs and punitive damages = 1 million +

Charles Linquis
- 26th August 2009, 01:58
I was thinking that the WRITE bug was "silent".

I'm in favor of a key, but I don't like dongles.

Archangel
- 26th August 2009, 04:58
I was thinking that the WRITE bug was "silent".

I'm in favor of a key, but I don't like dongles.
Charles Linquis, Amen Bro.!

Ioannis
- 26th August 2009, 08:06
May be dongle is the absolute protection device, but I usually work on 2 pc's. I, for sure, will forget the dongle one day or the other. This is making me nervous...

Any other method is more than welcome.

Maybe a web based compiler?

Ioannis

mackrackit
- 26th August 2009, 09:10
A dongle would cause me to look for another compiler. So would a web based setup.

I use one machine in the shop and another in the field. Most times there is not Internet available in the field and even if I had two dongles the laptop has a limited amount of ports. Take a hub along? I do not think so.

I vote for the software key.