75 lines
2.3 KiB
C++
75 lines
2.3 KiB
C++
#include "TestCommon.h"
|
|
#include "BasicTCPSocket.h"
|
|
#include "StringHelper.h"
|
|
#include "TimeoutType.h"
|
|
|
|
namespace MARTe {
|
|
|
|
const char8 * const debug_test_config =
|
|
"DebugService = {"
|
|
" Class = DebugService "
|
|
" ControlPort = 8095 "
|
|
" UdpPort = 8096 "
|
|
" StreamIP = \"127.0.0.1\" "
|
|
"}"
|
|
"App = {"
|
|
" Class = RealTimeApplication "
|
|
" +Functions = {"
|
|
" Class = ReferenceContainer "
|
|
" +GAM1 = {"
|
|
" Class = IOGAM "
|
|
" InputSignals = {"
|
|
" Counter = { DataSource = Timer Type = uint32 Frequency = 1000 }"
|
|
" }"
|
|
" OutputSignals = {"
|
|
" Counter = { DataSource = DDB Type = uint32 }"
|
|
" }"
|
|
" }"
|
|
" +GAM2 = {"
|
|
" Class = IOGAM "
|
|
" InputSignals = {"
|
|
" Counter = { DataSource = TimerSlow Type = uint32 Frequency = 10 }"
|
|
" }"
|
|
" OutputSignals = {"
|
|
" Counter = { DataSource = Logger Type = uint32 }"
|
|
" }"
|
|
" }"
|
|
" }"
|
|
" +Data = {"
|
|
" Class = ReferenceContainer "
|
|
" DefaultDataSource = DDB "
|
|
" +Timer = { Class = LinuxTimer SleepTime = 1000 Signals = { Counter = { Type = uint32 } } }"
|
|
" +TimerSlow = { Class = LinuxTimer SleepTime = 100000 Signals = { Counter = { Type = uint32 } } }"
|
|
" +Logger = { Class = LoggerDataSource Signals = { Counter = { Type = uint32 } } }"
|
|
" +DDB = { Class = GAMDataSource Signals = { Counter = { Type = uint32 } } }"
|
|
" +DAMS = { Class = TimingDataSource }"
|
|
" }"
|
|
" +States = {"
|
|
" Class = ReferenceContainer "
|
|
" +State1 = { Class = RealTimeState +Threads = { Class = ReferenceContainer +Thread1 = { Class = RealTimeThread Functions = {GAM1 GAM2} } } }"
|
|
" }"
|
|
" +Scheduler = { Class = GAMScheduler TimingDataSource = DAMS }"
|
|
"}";
|
|
|
|
bool SendCommandGAM(uint16 port, const char8* cmd, StreamString &reply) {
|
|
BasicTCPSocket client;
|
|
if (!client.Open()) return false;
|
|
if (!client.Connect("127.0.0.1", port)) return false;
|
|
|
|
uint32 s = StringHelper::Length(cmd);
|
|
if (!client.Write(cmd, s)) return false;
|
|
|
|
char buffer[16384];
|
|
uint32 size = 16384;
|
|
TimeoutType timeout(5000);
|
|
if (client.Read(buffer, size, timeout)) {
|
|
reply.Write(buffer, size);
|
|
client.Close();
|
|
return true;
|
|
}
|
|
client.Close();
|
|
return false;
|
|
}
|
|
|
|
}
|