74 lines
2.4 KiB
C++
74 lines
2.4 KiB
C++
#include "Routing.h"
|
|
#include "R_Order_AB.h"
|
|
#include "R_Order_AA.h"
|
|
|
|
void Routing::RoutingFunction(const DataPacket &packet) {
|
|
try {
|
|
if (packet.Mark1.get() == 0x66 || packet.Mark1.get() == 0x55) {
|
|
if (packet.Mark2.get() == 0xAA) {
|
|
switch (packet.FunNumber.get()) {
|
|
case 0x01: {
|
|
R_Order_AA::Function_0x01(packet);
|
|
break;
|
|
}
|
|
case 0x0B: {
|
|
R_Order_AA::Function_0x0B(packet);
|
|
break;
|
|
}
|
|
case 0x80: {
|
|
R_Order_AA::Function_0x80(packet);
|
|
break;
|
|
}
|
|
case 0xAA: {
|
|
R_Order_AA::Function_0xAA(packet);
|
|
break;
|
|
}
|
|
case 0xC1: {
|
|
R_Order_AA::Function_0xC1(packet);
|
|
break;
|
|
}
|
|
case 0xA4: {
|
|
R_Order_AA::Function_0xA4(packet);
|
|
break;
|
|
}
|
|
default: {
|
|
R_Order_AA::Function(packet);
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
else if (packet.Mark2.get() == 0xAB) {
|
|
switch (packet.FunNumber.get()) {
|
|
case 0x02: {
|
|
R_Order_AB::Function_0x02(packet);
|
|
break;
|
|
}
|
|
case 0x03: {
|
|
R_Order_AB::Function_0x03(packet);
|
|
break;
|
|
}
|
|
case 0x04: {
|
|
R_Order_AB::Function_0x04(packet);
|
|
break;
|
|
}
|
|
case 0x05: {
|
|
R_Order_AB::Function_0x05(packet);
|
|
break;
|
|
}
|
|
case 0x06: {
|
|
R_Order_AB::Function_0x06(packet);
|
|
break;
|
|
}
|
|
default: {
|
|
R_Order_AB::Function(packet);
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
catch (CCException& e) {
|
|
BS_Log::Error("Routing::RoutingFunction Error: {}",e.what());
|
|
}
|
|
}
|