Subversion Repositories HomeAutomation

Rev

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

Rev 1317 Rev 1323
Line 87... Line 87...
87
 
87
 
88
    for (unsigned char n = 0; n < length; n++)
88
    for (unsigned char n = 0; n < length; n++)
89
    {
89
    {
90
        data.push_back(this->myBuffer[5 + n]);
90
        data.push_back(this->myBuffer[5 + n]);
91
    }
91
    }
92
 
-
 
93
 
92
 
94
    BitBuffer buffer(data);
93
    BitBuffer buffer(data);
95
 
94
 
96
    Header header;
-
 
97
 
-
 
98
    header.readBits(buffer);
95
    Header header(buffer);
99
 
-
 
100
    // TODO how do we convert from moduleType and messageId to their string names... where are these ids stored?
-
 
101
 
-
 
102
    /*string moduleType = header.getVariable("moduleType").getValue().
-
 
103
    unsigned int moduleId = header.getVariable("moduleId").getValue().
-
 
104
    string messageType = header.getVariable("messageId").getValue().
-
 
105
 
96
 
106
    Message::pointer message = boost::make_shared<Message>(moduletype, moduleId, messageType);
97
    this->put(boost::make_shared<Message>(header));
107
 
-
 
108
    message.readBits(buffer);
-
 
109
 
-
 
110
    this->put(message);*/
-
 
111
 
98
 
112
    this->myBuffer.clear();
99
    this->myBuffer.clear();
113
}
100
}
114
 
101
 
115
void CanNet::sendPing()
102
void CanNet::sendPing()
116
{
103
{
117
    byte_list data(1, (unsigned char) PACKET_PING);
104
    byte_list data(1, (unsigned char) PACKET_PING);
118
 
105
 
Line 123... Line 110...
123
void CanNet::onNewMessage(Message::pointer message)
110
void CanNet::onNewMessage(Message::pointer message)
124
{
111
{
125
    LOG.debug("update called");
112
    LOG.debug("update called");
126
 
113
 
127
    BitBuffer buffer;
114
    BitBuffer buffer;
128
    // TODO Convert message-variables to bitbuffer then to byte_list
-
 
129
    byte_list data;
-
 
130
 
115
 
131
    // TODO Convert message-id to long
116
    message->getHeader().writeBits(buffer);
-
 
117
 
132
    unsigned long id;
118
    unsigned long id;
-
 
119
    buffer.readBasicType(32, id);
-
 
120
 
-
 
121
    buffer.clear();
-
 
122
 
-
 
123
    message->writeBits(buffer);
-
 
124
 
-
 
125
    byte_list data = buffer.getAsBytes();
133
 
126
 
134
    this->myUdpServer->sendTo(this->myEndpoint, buildPacket(id, data));
127
    this->myUdpServer->sendTo(this->myEndpoint, buildPacket(id, data));
135
}
128
}
136
 
129
 
137
void CanNet::onNewData(const udp::endpoint & sender, const byte_list & bytes)
130
void CanNet::onNewData(const udp::endpoint & sender, const byte_list & bytes)