Thank?s again for all replies.
I think that this issue locked the processor.
I?m not able to do a remote access and the client traveled yesterday.
When he gets back, I?m gonna do all the tests. (first do the workaround
and then learn how to rewrite the code).
And yes, I thought I2P modules would be better written than this.
Rafael Costa
Em 10/08/2012 07:14, Stig escreveu:
Maybe I'm overlooking something here, but I really can't see how
increasing the buffer can make the overflow msg. disappear.
A Clearbuffer can accomplish it, if it is placed right, but this is
suggested only as a workaround on the real issue.
If you take a look at the code in the simpl+ module, it will Remove
characters from the buffer ONLY if: Lamp_Requested is 1 AND
ETX("\x03") is found. ie. The buffer will still be filled up with
replies from other polls!
This is excactly the same issue I experienced today with the I2P "BenQ
SP920 v1.0.umc with BenQ SP920 v1.0 Processor.usp"
This module will also start Removing chr's from buffer ONLY if
delimter+Lampresponse is present,
otherwise buffer get filled up to maxbufsize then gulping out overflow
messages...
Had to rewrite both pollroutine + simpl+, and this really annoyes
me.... (especially on a Friday afternoon. Grrr)
Back to the OP's question "What should I do?" the answer is: Rewrite
both the pollroutine & the lamp hours module.
IMHO We should expect I2P modules to be better written than this.
-Stig
--- In Crestron@... <mailto:Crestron%40yahoogroups.com>,
Rafael Costa <rafaelg.costa@...> wrote:
Hello,
I?m controlling a Panasonic projector PT-AE4000U with CresDB module
for PT-AE1000U (Panansonic Lamp Hours v1.0) and it?s working fine.
Even so, I am receiving this error message -> "Error:
splusmanagerapp.exe [App 1] # 21:01:28 8-08-2012 # Module
S-5.1.1:S-2.4 : Panansonic_Lamp_Hours_v1_1 at line 136: Buffer Input
overflow. New = 260, Max = 255"
What should I do, change the "BUFFER_INPUT From_Device$[255];"
parameter to [260], is it possible?
Here is the S+ part:
LINE 44 DIGITAL_INPUT Lamp_Requested;
LINE 47 BUFFER_INPUT From_Device$[255];
LINE 133 change From_Device$
LINE 134 {
LINE 135 // Lamp hours are of the form "\x02####\x03"
LINE 136 if(iBusyFlag = 0 && Lamp_Requested = 1) // if not busy
processing and it is a valid lamp request
LINE 137 {
LINE 138 iBusyFlag = 1; // set busy to avoid re-entry into parser
LINE 139 while(find("\x03", From_Device$) > 0 ) // look for the
ETX during a Lamp Request
LINE 140 {
LINE 141 sTemp$ = remove("\x03", From_Device$); // build the
string
LINE 142 if (find ("ER401", sTemp$) = 0 && Len(sTemp$) = 6)
// Skip errors and unwanted strings
LINE 143 {
LINE 144 Lamp_Hours = ATOI(mid(sTemp$,2,4)); // set
lamp hours
LINE 145 }
LINE 146 }
LINE 147 iBusyFlag = 0; // clear busy
LINE 148 }
LINE 149 }
PMC3+ with firmware 1.005.0008 and all programs and database up to date.
Thank?s in advance,
Rafael Costa
[Non-text portions of this message have been removed]