commit 59ccb34eb5b604171817816d137a3a2b4a262ff0 Author: cfif Date: Mon May 26 14:41:45 2025 +0300 Init 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..437c4cc --- /dev/null +++ b/modular.json @@ -0,0 +1,17 @@ +{ + "dep": [ + { + "type": "git", + "provider": "GONEC_NEW", + "repo": "XfcTransportProtocol" + } + ], + "cmake": { + "inc_dirs": [ + "Inc" + ], + "srcs": [ + "Src/**.c" + ] + } +} \ No newline at end of file