From eeae4ab1abb40c16534437350391048cd595e4ff Mon Sep 17 00:00:00 2001 From: cfif Date: Fri, 24 Jan 2025 13:22:33 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9F=D0=B5=D1=80=D0=B5=D0=BD=D0=BE=D1=81=20?= =?UTF-8?q?=D0=BD=D0=B0=20=D0=BD=D0=BE=D0=B2=D1=83=D1=8E=20=D0=BE=D1=80?= =?UTF-8?q?=D0=B3=D0=B0=D0=BD=D0=B8=D0=B7=D0=B0=D1=86=D0=B8=D1=8E=20GONEC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Inc/ComIntCmd/Mandatory.h | 26 ++++++++++++++++++++++++++ READMY.txt | 16 ++++++++++++++++ Src/ComIntCmd/CmdTable.c | 18 ++++++++++++++++++ Src/ComIntCmd/Mandatory.c | 10 ++++++++++ Src/ComIntCmd/Null.c | 9 +++++++++ Src/ComIntCmd/Ping.c | 17 +++++++++++++++++ modular.json | 17 +++++++++++++++++ 7 files changed, 113 insertions(+) create mode 100644 Inc/ComIntCmd/Mandatory.h create mode 100644 READMY.txt create mode 100644 Src/ComIntCmd/CmdTable.c create mode 100644 Src/ComIntCmd/Mandatory.c create mode 100644 Src/ComIntCmd/Null.c create mode 100644 Src/ComIntCmd/Ping.c create mode 100644 modular.json diff --git a/Inc/ComIntCmd/Mandatory.h b/Inc/ComIntCmd/Mandatory.h new file mode 100644 index 0000000..5b9a8ec --- /dev/null +++ b/Inc/ComIntCmd/Mandatory.h @@ -0,0 +1,26 @@ +// +// Created by cfif on 04.10.2022. +// + +#ifndef XFCCOMMANDPROCESSORS_H +#define XFCCOMMANDPROCESSORS_H + +#include "XfcProtProcessorUtilDefines.h" +#include "XfcProtTable.h" +#include "BaseTypes.h" + +typedef struct { + tStringLink *mode; + tStringLink board; + tStringLink device; +} tComIntPing; + +void XfcProtMethodsAdd_Mandatory(tXfcProtTable *protTab, tComIntPing *ping, tXfcProtTable *cmdTab); + +uint8_t XfcProtMethod_Null(tXfcArray *request, tXfcArray *response, void *args); + +uint8_t XfcProtMethod_Ping(tXfcArray *request, tXfcArray *response, tComIntPing *env); + +uint8_t XfcProtMethod_CmdTable(tXfcArray *request, tXfcArray *response, tXfcProtTable *cmdTab); + +#endif //XFCCOMMANDPROCESSORS_H diff --git a/READMY.txt b/READMY.txt new file mode 100644 index 0000000..fc7c180 --- /dev/null +++ b/READMY.txt @@ -0,0 +1,16 @@ + +обычный транспортный протокол XfcTransportProtocol: +Прописать в modular.json: + { + "type": "git", + "provider": "ficom_modules", + "repo": "XfcTransportProtocol" + }, + +Расширеный транспортный протокол XfcTransportProtocol_Extended. +Прописать в modular.json: + { + "type": "git", + "provider": "ficom_modules", + "repo": "XfcTransportProtocol_Extended" + }, \ No newline at end of file diff --git a/Src/ComIntCmd/CmdTable.c b/Src/ComIntCmd/CmdTable.c new file mode 100644 index 0000000..ea4b7e8 --- /dev/null +++ b/Src/ComIntCmd/CmdTable.c @@ -0,0 +1,18 @@ +// +// Created by cfif on 04.10.2022. +// + +#include "ComIntCmd/Mandatory.h" + +uint8_t XfcProtMethod_CmdTable(tXfcArray *request, tXfcArray *response, tXfcProtTable *cmdTab) { + + XFC_CMD_TX_ADD_RAW(cmdTab->count); + + for (uint16_t count = 0; count < cmdTab->count; ++count) { + XFC_CMD_TX_ADD_RAW(count); + XFC_CMD_TX_ADD_RAW(cmdTab->items[count].textIdLen); + XFC_CMD_TX_ADD_ARR(cmdTab->items[count].textId, cmdTab->items[count].textIdLen); + } + + return XFC_TRANSPORT_PROTOCOL_RESPONSE_RESULT_OK; +} diff --git a/Src/ComIntCmd/Mandatory.c b/Src/ComIntCmd/Mandatory.c new file mode 100644 index 0000000..5050b5b --- /dev/null +++ b/Src/ComIntCmd/Mandatory.c @@ -0,0 +1,10 @@ +// +// Created by xemon on 13.11.22. +// +#include "ComIntCmd/Mandatory.h" + +void XfcProtMethodsAdd_Mandatory(tXfcProtTable *protTab, tComIntPing *ping, tXfcProtTable *cmdTab) { + XfcProtTable_AddStatic(protTab, "NULL", XfcProtMethod_Null, NULL); + XfcProtTable_AddStatic(protTab, "PING", XfcProtMethod_Ping, ping); + XfcProtTable_AddStatic(protTab, "CMD_TABLE", XfcProtMethod_CmdTable, cmdTab); +} diff --git a/Src/ComIntCmd/Null.c b/Src/ComIntCmd/Null.c new file mode 100644 index 0000000..16b3b1c --- /dev/null +++ b/Src/ComIntCmd/Null.c @@ -0,0 +1,9 @@ +// +// Created by cfif on 11.10.22. +// + +#include "ComIntCmd/Mandatory.h" + +uint8_t XfcProtMethod_Null(tXfcArray *request, tXfcArray *response, void *args) { + return XFC_TRANSPORT_PROTOCOL_RESPONSE_RESULT_EXECUTION_ERROR; +} \ No newline at end of file diff --git a/Src/ComIntCmd/Ping.c b/Src/ComIntCmd/Ping.c new file mode 100644 index 0000000..bedfaad --- /dev/null +++ b/Src/ComIntCmd/Ping.c @@ -0,0 +1,17 @@ +// +// Created by cfif on 04.10.2022. +// + +#include "ComIntCmd/Mandatory.h" + +uint8_t XfcProtMethod_Ping(tXfcArray *request, tXfcArray *response, tComIntPing *env) { + +// tDeviceVersions *versions = &DEVICE_STORAGE.data.versions; +// eDeviceModes *mode; + + XFC_CMD_TX_ADD_STRLINK(*env->mode); + XFC_CMD_TX_ADD_STRLINK(env->board); + XFC_CMD_TX_ADD_STRLINK(env->device); + + return XFC_TRANSPORT_PROTOCOL_RESPONSE_RESULT_OK; +} diff --git a/modular.json b/modular.json new file mode 100644 index 0000000..3ad5c3f --- /dev/null +++ b/modular.json @@ -0,0 +1,17 @@ +{ + "dep": [ + { + "type": "git", + "provider": "GONEC", + "repo": "XfcTransportProtocol" + } + ], + "cmake": { + "inc_dirs": [ + "Inc" + ], + "srcs": [ + "Src/**.c" + ] + } +} \ No newline at end of file