Re: Telnet User/Password Controller
I prefer to look for sername and assword. That way caps is not an issue. That, and the comedic benefit of looking for assword. Davis
toggle quoted message
Show quoted text
--- In Crestron@..., "Chip" <cfm@...> wrote:
+1
SIO w/ incoming string parameter "username:" (or whatever format the prompt is in) triggers another SIO that sends the username back, likewise for "password:"...
- Chip
--- In Crestron@..., Jeremy Weatherford <jweather@> wrote:
Use an SIO to match the prompts and trigger sending the user/password.
On Fri, Aug 10, 2012 at 1:34 PM, maglite4cell <maglite4cell@>wrote:
**
I have a device that I can send commands to however when I connect to the Telnet it asks for a user name and password. I was hoping to see if anyone encountered this before and if there was an example I could work off of.
-- Jeremy Weatherford
[Non-text portions of this message have been removed]
|
Anyone have a spare PAC2 in the Los Angeles or nearby areas? URGENT!
Client's died suddenly -- Yikes.
Please let me know ASAP - 310-933-6295, ask for Nelson.
|
Re: OT: Looking for 60" - 65" plasma with RS-232
I was at Sams Club the other day and they have an LG 60" Plasma for $899 and it had RS232.
toggle quoted message
Show quoted text
--- In Crestron@..., "Pat B" <PATB93@...> wrote: I have a client that hates LCDs, loves plasmas. Tells me he wants one of the cheap entry level Panasonic 65" plasmas because he loves the picture. But also wants discrete input select, direct channel selection from the built in tuner and discrete power on/off - all without RS-232. Balked when I suggested the Panasonic that actually has RS-232 to be able to implement all of those features because it cost quite a bit more.
Now he has asked if there is any other control system other than Crestron that will give those features - seems to think that Crestron "needs" RS-232 and another cheap control system <URC, RTI, etc> won't need RS-232 to to do everything he wants. I'm sticking with Crestron so my other option is to find a cheaper plasma with RS-232.
Anyone use another plasma sized 60"-65" that has RS-232 support and a built-in off air tuner?
|
Re: Telnet User/Password Controller
+1
SIO w/ incoming string parameter "username:" (or whatever format the prompt is in) triggers another SIO that sends the username back, likewise for "password:"...
- Chip
toggle quoted message
Show quoted text
--- In Crestron@..., Jeremy Weatherford <jweather@...> wrote: Use an SIO to match the prompts and trigger sending the user/password.
On Fri, Aug 10, 2012 at 1:34 PM, maglite4cell <maglite4cell@...>wrote:
**
I have a device that I can send commands to however when I connect to the Telnet it asks for a user name and password. I was hoping to see if anyone encountered this before and if there was an example I could work off of.
-- Jeremy Weatherford
[Non-text portions of this message have been removed]
|
Re: Telnet User/Password Controller
Use an SIO to match the prompts and trigger sending the user/password. On Fri, Aug 10, 2012 at 1:34 PM, maglite4cell <maglite4cell@...>wrote: **
I have a device that I can send commands to however when I connect to the Telnet it asks for a user name and password. I was hoping to see if anyone encountered this before and if there was an example I could work off of.
-- Jeremy Weatherford [Non-text portions of this message have been removed]
|
98. Error: Overflow on Buffer Input __ARQ_RX_BUFFIN$ on Module: S-1.8.7.3:S-1.1:S-2. New = 4010, Max = 4000 TimeStamp: 06:29:59 8-10-12 UpTime: 77 days 14:22:18.62 Task: EvD0018 99. Error: Overflow on Buffer Input __ARQ_RX_BUFFIN$ on Module: S-1.8.7.3:S-1.1:S-2. New = 4010, Max = 4000 TimeStamp: 06:30:00 8-10-12 UpTime: 77 days 14:22:19.64 Task: EvD0018 100. Error: Overflow on Buffer Input __ARQ_RX_BUFFIN$ on Module: S-1.8.7.3:S-1.1:S-2. New = 4010, Max = 4000 TimeStamp: 06:30:01 8-10-12 UpTime: 77 days 14:22:20.67 Task: EvD0018 Total Errors Logged = 176083 End of System log Been running 150 to 180 thousand overflows a day for the last two weeks -- client discovered the joys of multiple Pandora streams on an F-series ReQuest. One overflow per second per stream... I win!
|
Re: Dish Network Hopper2000
I will post my ir driver that has all commands including colors and power on and off. Give me a few hours to post.
Note: some colors only work on 722 and xip822 (hopper), 922 two color work and other two are page +\-
Sent from my pocket computer
|
Telnet User/Password Controller
I have a device that I can send commands to however when I connect to the Telnet it asks for a user name and password. I was hoping to see if anyone encountered this before and if there was an example I could work off of.
|
I can't imagine that 9600 baud would benefit much. I'm way more concerned about the dependability of anything that lives on the network vs simple old cresnet� On Aug 10, 2012, at 10:57 AM, Andre Bouchard wrote: Speed/Throughput to the MC3 on the RS-232 ports if the RS-232 devices on the CP2E are particularly chatty is the only thing that jumps to mind
--- In Crestron@..., Heath Vomer <hvolmer@...> wrote:
Can anyone give me a compelling reason to spend extra money on the 3-series card frame and cards when I can get the same features in a slaved CP2e? Need to add Com, IR and relays to an MC3 and a Cresnet slaved CP2e seems like a pretty solid choice for less money.
Heath
[Non-text portions of this message have been removed]
|
Re: Dish Network Hopper2000
Is it true that hopper remotes are rf only or is there ir or some other method of controlling them.
toggle quoted message
Show quoted text
--- In Crestron@..., Jon Spackman <fueler1@...> wrote: The colors are on remote central from a 722 and work
Sent from my pocket computer
|
Re: Error msg. Buffer Input overflow in S+ for Panasonic PT-AE4000U
Let me add that I agree about the buffer size, it should clearly be large enough to handle whats coming in. I also agree that the IP2 modules are often problematic. Many times modules written by the same person use completely different techniques for parsing. Lately I have found modules that have multiple S+ modules receiving the same RX$ and each module is performing parsing on it. Using multiple instances of those modules causes major grief. Some of them are pretty key pieces of gear too and I've gone so far as re-authoring to combine those multiple parsing modules. Fixed up most of my problems. But as Crestron likes to say, 'modules are for demonstration purposes only'.
JP
toggle quoted message
Show quoted text
--- In Crestron@..., "josephporter2020" <ttbtssav@...> wrote:
Unless your parsing code has delays in it that would allow the buffer to fill up, I find that using destructive functions on the buffer does not ever require the use of a clearbuffer. Remove() and Gather() are destructive and using them to pick off the buffer has never given me trouble to where I thought I needed to use clearbuffer. They only time I've ever used clearbuffer in the past was when I didn't get destructive functions or it was really late at night and I didn't have time to figure out where bugs were so I used it as a band aide.
JP
--- In Crestron@..., Tray Schaeffer <trayschaeffer@> wrote:
With respect, I have to disagree.
1. Sizing the input buffer to match the expected string length is half of the solution for this problem and good coding practice. This is not just a hack or workaround, it is essential. If the expected string is 300 bytes long, but the input buffer is only 255 wide, an error will be returned. However, if the buffer is sized to 350 and the same 300 characters comes in, no error is returned. Both statements above assume that the Buffer_Input is empty when the data is received which brings me to #2.
2. Since a Buffer_Input constantly appends new data to any that was received before, it is easy to see how data that is already processed but not removed could cause the buffer to be full (or full enough that an incoming data frame wont fit completely in the remaining space) when new data arrives. Wiping the slate clean after each complete frame of data is received is not merely a workaround, it is good practice that will improve reliability. This is why I do not parse against the Buffer_Input directly. Instead, I make a copy of a complete data frame into a temp variable and immediately clear the Buffer_Input. Again, clearing the input buffer is not just some sort of hack or work around, it’s the right thing to do.
3. If, for some reason, there is an aversion to clearing buffers then use a String_Input instead. Disadvantage here is that this cannot be larger than 255 chars. Upside is that you never have to remember to clear the input as it will clear itself each time data is received.
All of that aside, you all are right that I2P modules should not suffer from these issues.
Tray
From: Stig Sent: Friday, August 10, 2012 6:14 AM To: Crestron@... Subject: [Crestron] Re: Error msg. Buffer Input overflow in S+ for Panasonic PT-AE4000U
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 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]
|
Speed/Throughput to the MC3 on the RS-232 ports if the RS-232 devices on the CP2E are particularly chatty is the only thing that jumps to mind
toggle quoted message
Show quoted text
--- In Crestron@..., Heath Vomer <hvolmer@...> wrote: Can anyone give me a compelling reason to spend extra money on the 3-series card frame and cards when I can get the same features in a slaved CP2e? Need to add Com, IR and relays to an MC3 and a Cresnet slaved CP2e seems like a pretty solid choice for less money.
Heath
|
Re: Error msg. Buffer Input overflow in S+ for Panasonic PT-AE4000U
Unless your parsing code has delays in it that would allow the buffer to fill up, I find that using destructive functions on the buffer does not ever require the use of a clearbuffer. Remove() and Gather() are destructive and using them to pick off the buffer has never given me trouble to where I thought I needed to use clearbuffer. They only time I've ever used clearbuffer in the past was when I didn't get destructive functions or it was really late at night and I didn't have time to figure out where bugs were so I used it as a band aide.
JP
toggle quoted message
Show quoted text
--- In Crestron@..., Tray Schaeffer <trayschaeffer@...> wrote: With respect, I have to disagree.
1. Sizing the input buffer to match the expected string length is half of the solution for this problem and good coding practice. This is not just a hack or workaround, it is essential. If the expected string is 300 bytes long, but the input buffer is only 255 wide, an error will be returned. However, if the buffer is sized to 350 and the same 300 characters comes in, no error is returned. Both statements above assume that the Buffer_Input is empty when the data is received which brings me to #2.
2. Since a Buffer_Input constantly appends new data to any that was received before, it is easy to see how data that is already processed but not removed could cause the buffer to be full (or full enough that an incoming data frame wont fit completely in the remaining space) when new data arrives. Wiping the slate clean after each complete frame of data is received is not merely a workaround, it is good practice that will improve reliability. This is why I do not parse against the Buffer_Input directly. Instead, I make a copy of a complete data frame into a temp variable and immediately clear the Buffer_Input. Again, clearing the input buffer is not just some sort of hack or work around, it’s the right thing to do.
3. If, for some reason, there is an aversion to clearing buffers then use a String_Input instead. Disadvantage here is that this cannot be larger than 255 chars. Upside is that you never have to remember to clear the input as it will clear itself each time data is received.
All of that aside, you all are right that I2P modules should not suffer from these issues.
Tray
From: Stig Sent: Friday, August 10, 2012 6:14 AM To: Crestron@... Subject: [Crestron] Re: Error msg. Buffer Input overflow in S+ for Panasonic PT-AE4000U
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 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]
|
Re: Samsung LED Panel - HDMI-CEC vs. Serial Advice?
On my Samsungs at home there is a setting in the menu called { Anynet+ (HDMI-CEC) } turn on or off.
Albert
From: Crestron@... [mailto:Crestron@...] On Behalf Of cgperry444 Sent: Friday, August 03, 2012 1:10 PM To: Crestron@... Subject: [Crestron] Re: Samsung LED Panel - HDMI-CEC vs. Serial Advice?
I don't know that particular unit, but we recently installed a couple of Samsung consumer grade units in a classroom and CEC was OK.
With CEC there is a standard, but each manufacturer is free to either use the standard or not - totally up to them. However, either way the power commands are supposed to be universal. These power commands worked for our Samsungs:
Power On: \x40\x0D Power Off: \x40\x36
I was never able to find codes for source selection - sorry. Most manufacturer tech support I've talked to don't even know what CEC is yet, let alone have the protocols.
There is no response on the CEC receive that I've seen for our Samsungs. I had the same idea as you - change something on the set or with the remote and watch the receive line for a confirmation - but no joy.
There are some settings deep in the Samsung menu on ours that let you turn CEC control on and off. You might check your set for those. Can't remember where the options were now.
|
Re: Looking for Third Party Current Sensor.
No, it's illegal.
toggle quoted message
Show quoted text
--- In Crestron@..., "eagrubbs" <eagrubbs@...> wrote: Try ebay?
--- In Crestron@..., "sevenstarokawari" <tabata@> wrote:
Hi, I am Japanese. In case of Japan, ST-CS is out of discontinued model due to "PSE certification" PSE certification is, safety basis which Japanese government defines.
Anyway ST-CS doesn't have the PSE mark. So Crestron Japan doesn't sell ST-CS to any their distributors. Thus there is no way to buy that product. But I would like to buy still!! Therefore I am looking for the third party current sensor which can send the current value (I hope) via RS-232C.
Is there such a product in the world? If I can buy from this website, I am very happy. www.smarthome.com
Regards,
|
Re: Error msg. Buffer Input overflow in S+ for Panasonic PT-AE4000U
Tray,
Sorry for spelling errors on your name !! Must be that damn beer i took after work....
-Stig
toggle quoted message
Show quoted text
--- In Crestron@..., Tray Schaeffer <trayschaeffer@...> wrote: With respect, I have to disagree.
1. Sizing the input buffer to match the expected string length is half of the solution for this problem and good coding practice. This is not just a hack or workaround, it is essential. If the expected string is 300 bytes long, but the input buffer is only 255 wide, an error will be returned. However, if the buffer is sized to 350 and the same 300 characters comes in, no error is returned. Both statements above assume that the Buffer_Input is empty when the data is received which brings me to #2.
2. Since a Buffer_Input constantly appends new data to any that was received before, it is easy to see how data that is already processed but not removed could cause the buffer to be full (or full enough that an incoming data frame wont fit completely in the remaining space) when new data arrives. Wiping the slate clean after each complete frame of data is received is not merely a workaround, it is good practice that will improve reliability. This is why I do not parse against the Buffer_Input directly. Instead, I make a copy of a complete data frame into a temp variable and immediately clear the Buffer_Input. Again, clearing the input buffer is not just some sort of hack or work around, it’s the right thing to do.
3. If, for some reason, there is an aversion to clearing buffers then use a String_Input instead. Disadvantage here is that this cannot be larger than 255 chars. Upside is that you never have to remember to clear the input as it will clear itself each time data is received.
All of that aside, you all are right that I2P modules should not suffer from these issues.
Tray
From: Stig Sent: Friday, August 10, 2012 6:14 AM To: Crestron@... Subject: [Crestron] Re: Error msg. Buffer Input overflow in S+ for Panasonic PT-AE4000U
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 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]
|
Re: Error msg. Buffer Input overflow in S+ for Panasonic PT-AE4000U
Expanding topic to bananas.. :-)
Yes, in this fruit bowl i'd prefer bananas too :-)
-Stig
toggle quoted message
Show quoted text
--- In Crestron@..., Kool-Aid Drinker <crug@...> wrote: As long as you guys are comparing apples and oranges (Stig's comments on this specific module vs. Tray's grand programming concepts), let me throw in some bananas....
This should be done with just SIMPL. No S+ moots all the buffer size/management arguments.
Ha!
On Fri, 10 Aug 2012 14:54:17 -0000, "Stig" <ska@...> wrote:
Ted, I agree with you that increasing the buffer sometimes is necessary, but in this case I don't believe that's the issue and it will not alone fix the problem as you also need to extract from/empty the buffer one way or another. As you say, clearing the buffer once you have received the packet and extracted it to a tempstring is one solution but my impression is that a well written parsing routine pour contents from the buffer to a tempstring delimiterwise, as exemplified many times before on this forum, so there should be no need to clear the buffer at any time ?
What upsets me is that many I2P modules from the mothership is failing, and buffer overflow's seems to be a common issue.
-Stig
--- In Crestron@..., Tray Schaeffer <trayschaeffer@> wrote:
With respect, I have to disagree.
1. Sizing the input buffer to match the expected string length is half of the solution for this problem and good coding practice. This is not just a hack or workaround, it is essential. If the expected string is 300 bytes long, but the input buffer is only 255 wide, an error will be returned. However, if the buffer is sized to 350 and the same 300 characters comes in, no error is returned. Both statements above assume that the Buffer_Input is empty when the data is received which brings me to #2.
2. Since a Buffer_Input constantly appends new data to any that was received before, it is easy to see how data that is already processed but not removed could cause the buffer to be full (or full enough that an incoming data frame wont fit completely in the remaining space) when new data arrives. Wiping the slate clean after each complete frame of data is received is not merely a workaround, it is good practice that will improve reliability. This is why I do not parse against the Buffer_Input directly. Instead, I make a copy of a complete data frame into a temp variable and immediately clear the Buffer_Input. Again, clearing the input buffer is not just some sort of hack or work around, it's the right thing to do.
3. If, for some reason, there is an aversion to clearing buffers then use a String_Input instead. Disadvantage here is that this cannot be larger than 255 chars. Upside is that you never have to remember to clear the input as it will clear itself each time data is received.
All of that aside, you all are right that I2P modules should not suffer from these issues.
Tray
From: Stig Sent: Friday, August 10, 2012 6:14 AM To: Crestron@... Subject: [Crestron] Re: Error msg. Buffer Input overflow in S+ for Panasonic PT-AE4000U
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 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
|
Re: Dish Network Hopper2000
The colors are on remote central from a 722 and work
Sent from my pocket computer
|
Re: Looking for Third Party Current Sensor.
Try ebay?
toggle quoted message
Show quoted text
--- In Crestron@..., "sevenstarokawari" <tabata@...> wrote: Hi, I am Japanese. In case of Japan, ST-CS is out of discontinued model due to "PSE certification" PSE certification is, safety basis which Japanese government defines.
Anyway ST-CS doesn't have the PSE mark. So Crestron Japan doesn't sell ST-CS to any their distributors. Thus there is no way to buy that product. But I would like to buy still!! Therefore I am looking for the third party current sensor which can send the current value (I hope) via RS-232C.
Is there such a product in the world? If I can buy from this website, I am very happy. www.smarthome.com
Regards,
|
Re: Error msg. Buffer Input overflow in S+ for Panasonic PT-AE4000U
As long as you guys are comparing apples and oranges (Stig's comments on this specific module vs. Tray's grand programming concepts), let me throw in some bananas....
This should be done with just SIMPL. No S+ moots all the buffer size/management arguments.
Ha!
toggle quoted message
Show quoted text
On Fri, 10 Aug 2012 14:54:17 -0000, "Stig" <ska@...> wrote: Ted, I agree with you that increasing the buffer sometimes is necessary, but in this case I don't believe that's the issue and it will not alone fix the problem as you also need to extract from/empty the buffer one way or another. As you say, clearing the buffer once you have received the packet and extracted it to a tempstring is one solution but my impression is that a well written parsing routine pour contents from the buffer to a tempstring delimiterwise, as exemplified many times before on this forum, so there should be no need to clear the buffer at any time ?
What upsets me is that many I2P modules from the mothership is failing, and buffer overflow's seems to be a common issue.
-Stig
--- In Crestron@..., Tray Schaeffer <trayschaeffer@...> wrote:
With respect, I have to disagree.
1. Sizing the input buffer to match the expected string length is half of the solution for this problem and good coding practice. This is not just a hack or workaround, it is essential. If the expected string is 300 bytes long, but the input buffer is only 255 wide, an error will be returned. However, if the buffer is sized to 350 and the same 300 characters comes in, no error is returned. Both statements above assume that the Buffer_Input is empty when the data is received which brings me to #2.
2. Since a Buffer_Input constantly appends new data to any that was received before, it is easy to see how data that is already processed but not removed could cause the buffer to be full (or full enough that an incoming data frame wont fit completely in the remaining space) when new data arrives. Wiping the slate clean after each complete frame of data is received is not merely a workaround, it is good practice that will improve reliability. This is why I do not parse against the Buffer_Input directly. Instead, I make a copy of a complete data frame into a temp variable and immediately clear the Buffer_Input. Again, clearing the input buffer is not just some sort of hack or work around, it's the right thing to do.
3. If, for some reason, there is an aversion to clearing buffers then use a String_Input instead. Disadvantage here is that this cannot be larger than 255 chars. Upside is that you never have to remember to clear the input as it will clear itself each time data is received.
All of that aside, you all are right that I2P modules should not suffer from these issues.
Tray
From: Stig Sent: Friday, August 10, 2012 6:14 AM To: Crestron@... Subject: [Crestron] Re: Error msg. Buffer Input overflow in S+ for Panasonic PT-AE4000U
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 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
|