Форум программистов, компьютерный форум CyberForum.ru

Модуль от Crestron - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Class массив символов http://www.cyberforum.ru/cpp-beginners/thread1168026.html
что не так массив символов ? #include <iostream> #include <conio.h> using namespace std; class myclass { public: void print()
C++ Создать файл,потом записать в него данные и вывести их на консоль Не могу понять что я делаю не так.Программа должна создать файл,потом записать в него данные и потом вывести их на экран,и походу где то я не там повернул! #include "stdafx.h" #include <iostream> #include <Windows.h> #include <fstream> #include <stdlib.h> using namespace std; http://www.cyberforum.ru/cpp-beginners/thread1168010.html
Интерполяционный многочлены по чебышевским узлам C++
Всем здравствуйте!Столкнулся с проблемой: 1)Как находить узлы я знаю,и написал,и значения в ней нашел...Но как же строить сам многочлен я не понимаю... 2)Написать программу, которая строит для данной функции интерполяционный многочлены Pn произвольной степени по чебышевским узлам в соответствующей форме и позволяет вычислять значения этих многочленов в указанной точке. Нужна допустим для...
C++ Считывать с клавиатуры символы до тех пор, пока не введен символ "$"
Задача: Напишите программу, которая считывает с клавиатуры символы до тех пор, пока не будет введен символ "$". Организуйте в программе подсчет количества введенных точек. Результаты подсчета должны выводиться по окончании выполнения программы. #include <iostream> using namespace std; int main() {
C++ Случайный массив с суммой равный единице http://www.cyberforum.ru/cpp-beginners/thread1167984.html
Здравствуйте. Требуется создать программу, реализующую поиск оптимального решения критериями Ходжа - Лемана и Байеса - Лапласа. Чую что-то намудрил с коэффициентами вероятности(**b). Visual C++ при проверке никаких ошибок не выдает, однако запускаться программа никак не хочет. Помогите, пожалуйста. #include <stdlib.h> #include <stdio.h> #include <iostream.h> #include <time.h> void plus();...
C++ Никак не могу справиться с задачей Никак не могу решить задачу. Буду очень признателен если поможете решить ее и разобраться в ней. подробнее

Показать сообщение отдельно
aptech
Сообщений: n/a
06.05.2014, 14:37     Модуль от Crestron
Добрый день.
Ребят помогите разобраться с модулем от Crestron.
Честно я не программист... так что на каком это языке написано не понял. (SIMPL Windows Через него я вижу его в
Crestron)
Сам код под спойлером.

Что мне нужно от этого модуля:
1. Телнет сессия на стороннее оборудование через данную телнет сессию будут посылаться команды
2. Под определенным логином и паролем (логин и пароль на стороннем оборудовании воспринимается в 1 строчку через запятую.

На текущий момент в ошибках вот что светится
51. Error: Module S-1.1.1.7 : S2_PIF_Lutron_TCP_IP_Engine at line 370: Invalid Number of bytes for string __FN_DST_STR___Wait1. NumBytes = 2048.
TimeStamp: 14:16:49 5-06-14 UpTime: 0 days 00:17:09.82 Task: RX_WAIT


Кликните здесь для просмотра всего текста


/*******************************************************************************************
SIMPL+ Module Information
(Fill in comments below)
*******************************************************************************************/
/*
Dealer Name:
System Name:
System Number:
Programmer:
Comments:
*/


/*******************************************************************************************
Compiler Directives
(Uncomment and declare compiler directives as needed)
*******************************************************************************************/
#SYMBOL_NAME "PIF Lutron P5 Engine"
#HINT "This module works with P5 Lutron processors "



#HELP_BEGIN
The using of this modul:

Parameter:
Password - the password using in your home works ilumination prorramm.
Inputs
RX$ -data receiving from processor
Connect - digital input to establisch communicationwithprocessor.
Otput
TX$ - data sending to processor;
KeypadKLS$ - output return informanion about state of keypads in HWI system
KeypadKBP$ - output return informanion about pressing of keypads in HWI system
KeypadKBDT$ - output return informanion about double press of keypads in HWI system



#HELP_END

//Useful constants
#DEFINE_CONSTANT Init_login "LutronGUI"
//#DEFINE_CONSTANT loginPassword "LutronGUI,jetski"

#DEFINE_CONSTANT MAX_MESSAGE_LENGTH 2048
#DEFINE_CONSTANT PULS_TIME 10

#DEFINE_CONSTANT logOutCMD "LOGOUT"
#DEFINE_CONSTANT CMD_KLMON "KLMON"
#DEFINE_CONSTANT CMD_KBMON "KBMON"
#DEFINE_CONSTANT CMD_DLMON "DLMON"





#HELP_BEGIN
This modul works with Home Works proocessor P5 series only.
#HELP_END

/*******************************************************************************************
Include Libraries
(Uncomment and include additional libraries as needed)
*******************************************************************************************/
// #CRESTRON_LIBRARY ""
// #USER_LIBRARY ""

/*******************************************************************************************
DIGITAL, ANALOG and SERIAL INPUTS and OUTPUTS
(Uncomment and declare inputs and outputs as needed)
*******************************************************************************************/
DIGITAL_INPUT Connection;

//ANALOG_INPUT ADR_PROCESOR;



BUFFER_INPUT Rx$[MAX_MESSAGE_LENGTH];


// BUFFER_INPUT
STRING_OUTPUT Tx$;
DIGITAL_OUTPUT Estab_Connect;
DIGITAL_OUTPUT Connection_fb;
DIGITAL_OUTPUT New_Data;

STRING_OUTPUT KeypadKLS$, KeypadKBP$,KeypadKBDT$, DimmerDL$;

/*******************************************************************************************
Parameters
(Uncomment and declare parameters as needed)
*******************************************************************************************/
// INTEGER_PARAMETER
// SIGNED_INTEGER_PARAMETER
// LONG_INTEGER_PARAMETER
// SIGNED_LONG_INTEGER_PARAMETER
STRING_PARAMETER Init_Password[13];



/*******************************************************************************************
Structure Definitions
(Uncomment and define structure definitions as needed)
Note: Be sure to initialize all declared STRING variables as needed
For example, in Function Main: struct.myString = "";
*******************************************************************************************/
/*
STRUCTURE MyStruct1
{
};

MyStruct1 struct;
*/

/*******************************************************************************************
Global Variables
(Uncomment and declare global variables as needed)
Note: Be sure to initialize all declared STRING variables as needed
For example, in Function Main: myString = "";
*******************************************************************************************/
INTEGER ThereIsConect;

// LONG_INTEGER
// SIGNED_INTEGER
// SIGNED_LONG_INTEGER
// STRING


/*******************************************************************************************
Functions
(Add any additional functions here)
Note: Functions must be physically placed before the location in
the code that calls them.
*******************************************************************************************/

Function Initial_Proces()
{
string data_out[30];

MakeString(data_out,"%s,%s\n",Init_login, Init_Password);
Tx$ = data_out;
}

Function Disconnect_Proces()
{
string data_out[30];
MakeString(data_out,"%s\n",logOutCMD);
Tx$ = data_out;
print("Disconect! \n");
ThereIsConect = 0;
Connection_fb =OFF;

}

function Estab_Connection()
{
string data_out[30];
MakeString(data_out,"%s\n",CMD_KLMON);
Tx$ = data_out;
print("Sent KLMON \n");
MakeString(data_out,"%s\n",CMD_KBMON);
Tx$ = data_out;
print("Sent KLMON \n");
MakeString(data_out,"%s\n",CMD_DLMON);
Tx$ = data_out;
print("Sent DLMON \n");

ThereIsConect = 1;
Connection_fb =ON;

}

Function DL_Parse_Message(string message)
{
// Parsing for string -DL, [01:01:00:02], 50

integer fist_ch;
integer len_str;
string temp_str[100];
string ADR_str[100];
string STATE_str[100];

//print("Received for parsing: %S\n",message);
while(find("DL",message)) {
fist_ch = find("DL",message);
temp_str = RemoveByLength(fist_ch+4,message);
ADR_str = RemoveByLength(11,message);
temp_str = RemoveByLength(2,message);
STATE_str = message;
//print ("ADR KLS is: %s STATE is: %s\n",ADR_str,STATE_str);
MakeString(temp_str,"DL[%s]%s\r",ADR_str,STATE_str);
DimmerDL$ = temp_str;
Pulse(PULS_TIME,New_Data );
}
}


Function KLS_Parse_Message(string message)
{
// Parsing for string -\x0D\x0AKLS, [01:06:20], 000000000000010000000000\x0D\x0A
integer fist_ch;
integer len_str;
string temp_str[100];
string ADR_str[100];
string STATE_str[100];

//print("Received for parsing: %S\n",message);
while(find("KLS",message)) {
fist_ch = find("KLS",message);
temp_str = RemoveByLength(fist_ch+4,message);
ADR_str = RemoveByLength(10,message);
temp_str = RemoveByLength(2,message);
STATE_str = RemoveByLength(24,message);
//print ("ADR KLS is: %s STATE is: %s\n",ADR_str,STATE_str);
MakeString(temp_str,"%s%s\r",ADR_str,STATE_str);
KeypadKLS$ = temp_str;
}
}


Function KBDT_Parse_Message(string message)
{

// Parsing for string -KBDT, [01:04:04],01
integer fist_ch;
integer len_str;
string temp_str[100];
string ADR_str[20];
string BTN_str[5];

//print("Received for parsing: %S\n",message);
if (find("KBDT",message)){
while(find("KBDT",message)) {
fist_ch = find("KBDT",message);
temp_str = RemoveByLength(fist_ch+5,message);
ADR_str = RemoveByLength(10,message);
temp_str = RemoveByLength(2,message);
BTN_str = RemoveByLength(2,message);
//print ("ADR KBP is: %s STATE is: %s\n",ADR_str,STATE_str);
MakeString(temp_str,"KBDT%s%s\r",ADR_str,BTN_str);
KeypadKBDT$ = temp_str;
}
}

}

Function KBP_Parse_Message(string message)
{
// Parsing for string - KBP, [01:04:04], 1
integer fist_ch;
integer len_str;
string temp_str[100];
string ADR_str[20];
string BTN_str[5];

//print("Received for parsing: %S\n",message);
if (find("KBP",message)){
while(find("KBP",message)) {
fist_ch = find("KBP",message);
temp_str = RemoveByLength(fist_ch+4,message);
ADR_str = RemoveByLength(10,message);
temp_str = RemoveByLength(2,message);
BTN_str = RemoveByLength(2,message);
//print ("ADR KBP is: %s STATE is: %s\n",ADR_str,STATE_str);
MakeString(temp_str,"KBP%s%s\r",ADR_str,BTN_str);
KeypadKBP$ = temp_str;
}
}
if (find("KBR",message)){
while(find("KBR",message)) {
fist_ch = find("KBR",message);
temp_str = RemoveByLength(fist_ch+4,message);
ADR_str = RemoveByLength(10,message);
temp_str = RemoveByLength(2,message);
BTN_str = RemoveByLength(2,message);
//print ("ADR KBR is: %s STATE is: %s\n",ADR_str,STATE_str);
MakeString(temp_str,"KBR%s%s\r",ADR_str,BTN_str);
KeypadKBP$ = temp_str;
}
}


}


/*******************************************************************************************
Event Handlers
(Uncomment and declare additional event handlers as needed)
*******************************************************************************************/

PUSH Connection
{
if (Connection = on)
{
Estab_Connect = ON;
}
}

RELEASE Connection
{
if (Connection = Off)
{
print("%s\n","Lutron Disconnect.");
call Disconnect_Proces();
Estab_Connect = off;
}
}







CHANGE RX$

{
wait(0,RX_WAIT) { //ensure only 1 thread at a time
string message[MAX_MESSAGE_LENGTH]; // temporary variable to hold individual message
integer first_ch;
string FB_string[17];

//print("LUTRON RX: %s \n",Rx$);
IF(find("LOGIN:",RX$)) {
message = remove("LOGIN:",Rx$);
call Initial_Proces();
}

IF(find("LNET>",RX$)) {
//print("find LNET: %s all length is %d \n",Rx$, len(Rx$));
IF(ThereIsConect = 0){
//print("Call Estab_conect prc \n");
message = remove("LNET>",Rx$);
call Estab_Connection();
}
}


IF(find("KLS",RX$)) {
message = Rx$;
// \x0D\x0AKLS, [01:06:20], 000000000000010000000000\x0D\x0A
call KLS_Parse_Message(message);
}

IF(find("KBP",RX$)) {
message = Rx$;
call KBP_Parse_Message(message);
//KBP, [01:04:04], 1
}

IF(find("KBR",RX$)) {
message = Rx$;
//KBR, [01:04:04], 1
call KBP_Parse_Message(message);

}
IF (find("KBDT", RX$)) {
message = Rx$;
call KBDT_Parse_Message(message);
}
IF (find("DL", RX$)) {
message = Rx$;
call DL_Parse_Message(message);
}




// Clear all buffer
message = RemoveByLength(len(Rx$),Rx$);


ProcessLogic();
}


}






/*******************************************************************************************
Main()
Uncomment and place one-time startup code here
(This code will get called when the system starts up)
*******************************************************************************************/
Function Main()
{

Estab_Connect = 0;
ThereIsConect = 0;
}



После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 01:12. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru