Network: Use Type::AutomotiveEthernet
parent
3b60bfc986
commit
7f192a0cea
|
|
@ -90,6 +90,7 @@ static bool NeoMessageToSpyMessage(const neodevice_t* device, const neomessage_t
|
||||||
copyFrameData();
|
copyFrameData();
|
||||||
break;
|
break;
|
||||||
case Network::Type::Ethernet:
|
case Network::Type::Ethernet:
|
||||||
|
case Network::Type::AutomotiveEthernet:
|
||||||
oldmsg.Protocol = SPY_PROTOCOL_ETHERNET;
|
oldmsg.Protocol = SPY_PROTOCOL_ETHERNET;
|
||||||
oldmsg.NumberBytesData = static_cast<uint8_t>(frame.length & 0xFF);
|
oldmsg.NumberBytesData = static_cast<uint8_t>(frame.length & 0xFF);
|
||||||
oldmsg.NumberBytesHeader = static_cast<uint8_t>(frame.length >> 8);
|
oldmsg.NumberBytesHeader = static_cast<uint8_t>(frame.length >> 8);
|
||||||
|
|
|
||||||
|
|
@ -62,7 +62,8 @@ uint64_t Decoder::GetUInt64FromLEBytes(const uint8_t* bytes) {
|
||||||
|
|
||||||
bool Decoder::decode(std::shared_ptr<Message>& result, const std::shared_ptr<Packet>& packet) {
|
bool Decoder::decode(std::shared_ptr<Message>& result, const std::shared_ptr<Packet>& packet) {
|
||||||
switch(packet->network.getType()) {
|
switch(packet->network.getType()) {
|
||||||
case Network::Type::Ethernet: {
|
case Network::Type::Ethernet:
|
||||||
|
case Network::Type::AutomotiveEthernet: {
|
||||||
result = HardwareEthernetPacket::DecodeToMessage(packet->data);
|
result = HardwareEthernetPacket::DecodeToMessage(packet->data);
|
||||||
if(!result) {
|
if(!result) {
|
||||||
report(APIEvent::Type::PacketDecodingError, APIEvent::Severity::Error);
|
report(APIEvent::Type::PacketDecodingError, APIEvent::Severity::Error);
|
||||||
|
|
|
||||||
|
|
@ -32,7 +32,8 @@ bool Encoder::encode(const Packetizer& packetizer, std::vector<uint8_t>& result,
|
||||||
netid = uint16_t(frame->network.getNetID());
|
netid = uint16_t(frame->network.getNetID());
|
||||||
|
|
||||||
switch(frame->network.getType()) {
|
switch(frame->network.getType()) {
|
||||||
case Network::Type::Ethernet: {
|
case Network::Type::Ethernet:
|
||||||
|
case Network::Type::AutomotiveEthernet: {
|
||||||
auto ethmsg = std::dynamic_pointer_cast<EthernetMessage>(message);
|
auto ethmsg = std::dynamic_pointer_cast<EthernetMessage>(message);
|
||||||
if(!ethmsg) {
|
if(!ethmsg) {
|
||||||
report(APIEvent::Type::MessageFormattingError, APIEvent::Severity::Error);
|
report(APIEvent::Type::MessageFormattingError, APIEvent::Severity::Error);
|
||||||
|
|
|
||||||
|
|
@ -53,7 +53,7 @@ std::shared_ptr<Message> EthernetStatusMessage::DecodeToMessage(const std::vecto
|
||||||
default: return nullptr;
|
default: return nullptr;
|
||||||
}
|
}
|
||||||
LinkMode mode;
|
LinkMode mode;
|
||||||
switch(Network(packet->network).getType()) {
|
switch(Network::GetTypeOfNetID((Network::NetID)packet->network, false)) {
|
||||||
case Network::Type::Ethernet:
|
case Network::Type::Ethernet:
|
||||||
switch(packet->mode) {
|
switch(packet->mode) {
|
||||||
case T_LINK_NONE: mode = EthernetStatusMessage::LinkMode::LinkModeNone; break;
|
case T_LINK_NONE: mode = EthernetStatusMessage::LinkMode::LinkModeNone; break;
|
||||||
|
|
|
||||||
|
|
@ -44,7 +44,8 @@ neomessage_t icsneo::CreateNeoMessage(const std::shared_ptr<Message> message) {
|
||||||
can.status.canfdESI = canmsg->errorStateIndicator;
|
can.status.canfdESI = canmsg->errorStateIndicator;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case Network::Type::Ethernet: {
|
case Network::Type::Ethernet:
|
||||||
|
case Network::Type::AutomotiveEthernet: {
|
||||||
neomessage_eth_t& eth = *(neomessage_eth_t*)&neomsg;
|
neomessage_eth_t& eth = *(neomessage_eth_t*)&neomsg;
|
||||||
auto ethmsg = std::static_pointer_cast<EthernetMessage>(message);
|
auto ethmsg = std::static_pointer_cast<EthernetMessage>(message);
|
||||||
eth.preemptionFlags = ethmsg->preemptionFlags;
|
eth.preemptionFlags = ethmsg->preemptionFlags;
|
||||||
|
|
@ -142,7 +143,8 @@ std::shared_ptr<Message> icsneo::CreateMessageFromNeoMessage(const neomessage_t*
|
||||||
canmsg->errorStateIndicator = can.status.canfdESI;
|
canmsg->errorStateIndicator = can.status.canfdESI;
|
||||||
return canmsg;
|
return canmsg;
|
||||||
}
|
}
|
||||||
case Network::Type::Ethernet: {
|
case Network::Type::Ethernet:
|
||||||
|
case Network::Type::AutomotiveEthernet: {
|
||||||
neomessage_eth_t& eth = *(neomessage_eth_t*)neomessage;
|
neomessage_eth_t& eth = *(neomessage_eth_t*)neomessage;
|
||||||
auto ethmsg = std::make_shared<EthernetMessage>();
|
auto ethmsg = std::make_shared<EthernetMessage>();
|
||||||
ethmsg->network = network;
|
ethmsg->network = network;
|
||||||
|
|
|
||||||
|
|
@ -136,6 +136,7 @@ std::vector<uint8_t> TransmitMessage::EncodeFromMessage(std::shared_ptr<Frame> f
|
||||||
std::vector<uint8_t> result;
|
std::vector<uint8_t> result;
|
||||||
switch(frame->network.getType()) {
|
switch(frame->network.getType()) {
|
||||||
case Network::Type::Ethernet:
|
case Network::Type::Ethernet:
|
||||||
|
case Network::Type::AutomotiveEthernet:
|
||||||
result = EncodeFromMessageEthernet(frame, report);
|
result = EncodeFromMessageEthernet(frame, report);
|
||||||
break;
|
break;
|
||||||
case Network::Type::CAN:
|
case Network::Type::CAN:
|
||||||
|
|
|
||||||
|
|
@ -214,7 +214,8 @@ void printMessage(const std::shared_ptr<icsneo::Message>& message) {
|
||||||
std::cout << std::dec << '(' << canMessage->timestamp << " ns since 1/1/2007)\n";
|
std::cout << std::dec << '(' << canMessage->timestamp << " ns since 1/1/2007)\n";
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case icsneo::Network::Type::Ethernet: {
|
case icsneo::Network::Type::Ethernet:
|
||||||
|
case icsneo::Network::Type::AutomotiveEthernet: {
|
||||||
auto ethMessage = std::static_pointer_cast<icsneo::EthernetMessage>(message);
|
auto ethMessage = std::static_pointer_cast<icsneo::EthernetMessage>(message);
|
||||||
|
|
||||||
std::cout << "\t\t" << ethMessage->network << " Frame - " << std::dec
|
std::cout << "\t\t" << ethMessage->network << " Frame - " << std::dec
|
||||||
|
|
|
||||||
|
|
@ -199,7 +199,8 @@ int main() {
|
||||||
std::cout << std::dec << '(' << canMessage->timestamp << " ns since 1/1/2007)\n";
|
std::cout << std::dec << '(' << canMessage->timestamp << " ns since 1/1/2007)\n";
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case icsneo::Network::Type::Ethernet: {
|
case icsneo::Network::Type::Ethernet:
|
||||||
|
case icsneo::Network::Type::AutomotiveEthernet: {
|
||||||
auto ethMessage = std::static_pointer_cast<icsneo::EthernetMessage>(message);
|
auto ethMessage = std::static_pointer_cast<icsneo::EthernetMessage>(message);
|
||||||
|
|
||||||
std::cout << "\t\t" << ethMessage->network << " Frame - " << std::dec
|
std::cout << "\t\t" << ethMessage->network << " Frame - " << std::dec
|
||||||
|
|
|
||||||
|
|
@ -172,7 +172,7 @@ int main(int argc, char* argv[]) {
|
||||||
const auto frame = std::static_pointer_cast<icsneo::Frame>(msg);
|
const auto frame = std::static_pointer_cast<icsneo::Frame>(msg);
|
||||||
if(frame->network.getType() == icsneo::Network::Type::CAN) {
|
if(frame->network.getType() == icsneo::Network::Type::CAN) {
|
||||||
++canFrameCount;
|
++canFrameCount;
|
||||||
} else if(frame->network.getType() == icsneo::Network::Type::Ethernet) {
|
} else if(frame->network.getType() == icsneo::Network::Type::AutomotiveEthernet || frame->network.getType() == icsneo::Network::Type::Ethernet) {
|
||||||
++ethFrameCount;
|
++ethFrameCount;
|
||||||
}
|
}
|
||||||
}));
|
}));
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue