¿ªÔÆÌåÓý

ctrl + shift + ? for shortcuts
© 2025 Groups.io

Re: Old Viewsonic PRO-8100 lamp module #crestron #modules #rs232 #simpl #simplwindows


 

This only vaguely resembles valid S+.? You should start by constructing valid commands for the projector, testing them in Debugger, then using them in a Serial IO symbol in SIMPL.


On Sun, Jan 19, 2025 at 5:24?PM dsmith via <dsmithp233=[email protected]> wrote:
Hello,
? ? I have a very old ViewSonic PRO-8100 projector and I decided to see if I can get the lamp hours via its RS-232 port. Let me start off by saying a couple of things:
?
1) My main control over the projector is IR,
? ? ?a) The reason for this is from the projector to the rack is about 40 feet, controlled via IR by using two wires in a CAT 5e cable,
? ? ?b) The old projector I had was RS-232 controlled
2) I have the RS-232 from the projector connected to the second RS-232 port in my Series 3 Crestron processor with a null modem cable,
? ? a) Using the CAT5e cable mentioned above at the projector the wring is, 2 - red (green), 3 - black (white/green), 5 - shield (brown)
? ? b) At the processor end, the wiring is 2 - red (white/green), 3 - black (green), 5 - shield (brown)
3) I have uploaded the ViewSonic PRO-8100 owners manual to this site which has the RS-232 protocol listed,
4) I am weak with making a Crestron SIMPL+ module so I used AI. Here is the code:
?
#SYMBOL_NAME "ViewSonic PRO 8100 Lamp Hours"
#CATEGORY "24" // TV/Video Projector
?
#DEFAULT_VOLATILE
#ENABLE_STACK_CHECKING
?
#DEFINE_CONSTANT MAX_BUFFER_SIZE 100
?
DIGITAL_INPUT Poll_Lamp_Hours;
ANALOG_OUTPUT Lamp_Hours;
STRING_OUTPUT Debug_Msg;
?
INTEGER iLampHours;
STRING sRxBuffer[MAX_BUFFER_SIZE];
?
#BEGIN_PARAMETER_PROPERTIES ComSpec
? ? ? propValidators = { k9600, kNONE, k8BITS, k1STOPBIT };
#END_PARAMETER_PROPERTIES
?
CHANGE Poll_Lamp_Hours
{
? ? IF(Poll_Lamp_Hours)
? ? {
? ? ? ? SEND_STRING 0, "\xBE\xEF\x1A\x0C\x00\x56\x6A\x52\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00";
? ? }
}
?
THREADSAFE FUNCTION ProcessResponse()
{
? ? INTEGER iStartPos, iEndPos;
? ? STRING sTemp[50];
? ??
? ? iStartPos = FIND("\x05\x14\x00\x03\x00", sRxBuffer);
? ? IF(iStartPos > 0)
? ? {
? ? ? ? iEndPos = iStartPos + 7;
? ? ? ? IF(iEndPos <= LEN(sRxBuffer))
? ? ? ? {
? ? ? ? ? ? sTemp = MID(sRxBuffer, iStartPos + 5, 2);
? ? ? ? ? ? iLampHours = HEXTOI(sTemp);
? ? ? ? ? ? Lamp_Hours = iLampHours;
? ? ? ? ? ? MAKESTRING(Debug_Msg, "Lamp Hours: %d", iLampHours);
? ? ? ? }
? ? }
? ??
? ? sRxBuffer = "";
}
?
RECEIVE_STRING 0
{
? ? sRxBuffer = sRxBuffer + data.text;
? ? IF(LEN(sRxBuffer) >= 8)
? ? {
? ? ? ? ProcessResponse();
? ? }
}
?
FUNCTION Main()
{
? ? WaitForInitializationComplete();
? ? sRxBuffer = "";
}
?
I am getting 2 compiler errors:
error 1014 - invalid parameter: 'COMSPEC'
error 1016 - invalid parameter: 'PROPVALIDATORS'
?
Any help would be much appreciated and thank you.
Donald
?
?

Join [email protected] to automatically receive all group messages.