Subversion Repositories HomeAutomation

Rev

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

Rev 1916 Rev 1917
Line 221... Line 221...
221
        for (unsigned int n = 0; n < 8; n++)
221
        for (unsigned int n = 0; n < 8; n++)
222
        {
222
        {
223
            data[8 + n] = databits.GetBytes()[n];
223
            data[8 + n] = databits.GetBytes()[n];
224
        }
224
        }
225
       
225
       
-
 
226
        data[16] = PACKET_END;
-
 
227
       
-
 
228
        data.SetSize(17);
-
 
229
       
-
 
230
        //LOG.Debug("Bytes: " + data.ToDebugString());
-
 
231
        net::Manager::Instance()->SendTo(this->client_id_, data);
-
 
232
    } else if (message->GetType() == broker::Message::CAN_RAW_MESSAGE)
-
 
233
    {
-
 
234
        std::string* payload_str;
-
 
235
    payload_str = static_cast<std::string*>(message->GetPayload().get());
-
 
236
    std::string line = *payload_str;
-
 
237
        common::Byteset data(17);
-
 
238
       
-
 
239
        data[0] = PACKET_START;
-
 
240
        std::string value = line.substr(4,2);
-
 
241
    data[1] = boost::lexical_cast<int>(value);
-
 
242
    LOG.Info("id1: " + value + " data: ");//+ data[1]);
-
 
243
   
-
 
244
    value = line.substr(6,2);
-
 
245
    data[2] = boost::lexical_cast<int>(value);
-
 
246
    LOG.Info("id2: " + value + " data: ");//+ data[2]);
-
 
247
   
-
 
248
    value = line.substr(8,2);
-
 
249
    data[3] = boost::lexical_cast<int>(value);
-
 
250
    LOG.Info("id3: " + value + " data: ");//+ data[3]);
-
 
251
   
-
 
252
    value = line.substr(10,2);
-
 
253
    data[4] = boost::lexical_cast<int>(value);
-
 
254
    LOG.Info("id4: " + value + " data: ");//+ data[4]);
-
 
255
   
-
 
256
    value = line.substr(13,1);
-
 
257
    data[5] = boost::lexical_cast<int>(value);
-
 
258
    LOG.Info("1: " + value + " data: ");//+ data[5]);
-
 
259
   
-
 
260
    value = line.substr(15,1);
-
 
261
    data[6] = boost::lexical_cast<int>(value);
-
 
262
    LOG.Info("1: " + value + " data: ");//+ data[6]);
-
 
263
 
-
 
264
        unsigned char length = 0;
-
 
265
        unsigned char index = 3;
-
 
266
        while (length < 8 && index + 16 < (unsigned char)line.length())
-
 
267
        {
-
 
268
            value = line.substr(index,2);
-
 
269
        data[8+length] = boost::lexical_cast<int>(value);
-
 
270
        LOG.Info("data: " + value + " data: ");//+ data[6]);
-
 
271
        index += 3;
-
 
272
        length++;
-
 
273
        }
-
 
274
       
-
 
275
        data[7] = length;
226
        data[16] = PACKET_END;
276
        data[16] = PACKET_END;
227
       
277
       
228
        data.SetSize(17);
278
        data.SetSize(17);
229
       
279
       
230
        //LOG.Debug("Bytes: " + data.ToDebugString());
280
        //LOG.Debug("Bytes: " + data.ToDebugString());