Subversion Repositories HomeAutomation

Rev

Rev 991 | Rev 1024 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | SVN | RSS feed

Rev 991 Rev 999
Line 49... Line 49...
49
    myChannel = new AsyncSocket();
49
    myChannel = new AsyncSocket();
50
}
50
}
51
 
51
 
52
CanNetManager::~CanNetManager()
52
CanNetManager::~CanNetManager()
53
{
53
{
-
 
54
    stop();
54
    CanIdTranslator::deleteInstance();
55
    CanIdTranslator::deleteInstance();
55
    myChannel->stop();
56
    myChannel->stop();
56
    delete myChannel;
57
    delete myChannel;
57
}
58
}
58
 
59
 
59
void CanNetManager::openChannel()
60
void CanNetManager::run()
60
{
61
{
61
    SyslogStream &slog = SyslogStream::getInstance();
62
    SyslogStream &slog = SyslogStream::getInstance();
62
    VirtualMachine &vm = VirtualMachine::getInstance();
63
    VirtualMachine &vm = VirtualMachine::getInstance();
63
    CanDebug &canDebug = CanDebug::getInstance();
64
    CanDebug &canDebug = CanDebug::getInstance();
64
 
65
 
Line 84... Line 85...
84
 
85
 
85
    bool waitingForPong = false;
86
    bool waitingForPong = false;
86
    vector<string> dataLines;
87
    vector<string> dataLines;
87
    string data;
88
    string data;
88
    CanMessage *canMessage = NULL;
89
    CanMessage *canMessage = NULL;
-
 
90
    string expression;
89
 
91
 
90
    while (1)
92
    while (1)
91
    {
93
    {
92
        myChannel->eventWait();
94
        myChannel->eventWait();
93
 
95
 
Line 143... Line 145...
143
 
145
 
144
                        canMessage = new CanMessage(data);
146
                        canMessage = new CanMessage(data);
145
 
147
 
146
                        if (!canMessage->isUnknown())
148
                        if (!canMessage->isUnknown())
147
                        {
149
                        {
-
 
150
                            if (canMessage->getClassName() == "nmt")
-
 
151
                            {
-
 
152
                                expression = "handleNMTMessage(";
-
 
153
                                expression += "'" + canMessage->getClassName() + "', ";
-
 
154
                                expression += "'" + canMessage->getCommandName() + "', ";
-
 
155
                                expression += canMessage->getJSONData();
-
 
156
                                expression += ");";
-
 
157
                            }
-
 
158
                            else
-
 
159
                            {
-
 
160
                                expression = "handleMessage(";
-
 
161
                                expression += "'" + canMessage->getClassName() + "', ";
-
 
162
                                expression += "'" + canMessage->getDirectionFlag() + "', ";
-
 
163
                                expression += "'" + canMessage->getModuleName() + "', ";
-
 
164
                                expression += "" + itos(canMessage->getModuleId()) + ", ";
-
 
165
                                expression += "'" + canMessage->getCommandName() + "', ";
-
 
166
                                expression += canMessage->getJSONData();
-
 
167
                                expression += ");";
-
 
168
                            }
-
 
169
 
148
                            vm.queueCanMessage(*canMessage);
170
                            vm.queueExpression(expression);
149
                            canDebug.sendCanMessage(*canMessage);
171
                            canDebug.sendCanMessageToAll(*canMessage);
150
                        }
172
                        }
151
                        else
173
                        else
152
                        {
174
                        {
153
                            canDebug.sendData(data + "\n");
175
                            canDebug.sendToAll(data + "\n");
154
                        }
176
                        }
155
 
177
 
156
                        delete canMessage;
178
                        delete canMessage;
157
                        canMessage = NULL;
179
                        canMessage = NULL;
158
                    }
180
                    }
Line 198... Line 220...
198
 
220
 
199
void CanNetManager::sendMessage(CanMessage canMessage)
221
void CanNetManager::sendMessage(CanMessage canMessage)
200
{
222
{
201
    CanDebug &canDebug = CanDebug::getInstance();
223
    CanDebug &canDebug = CanDebug::getInstance();
202
    myChannel->sendData(canMessage.getRaw());
224
    myChannel->sendData(canMessage.getRaw());
203
    canDebug.sendCanMessage(canMessage);
225
    canDebug.sendCanMessageToAll(canMessage);
204
}
226
}
205
 
227