Добавлены интерфейсы и драйверы

This commit is contained in:
cfif 2025-09-30 15:52:33 +03:00
commit 164ec5a974
7 changed files with 113 additions and 0 deletions

26
Inc/ComIntCmd/Mandatory.h Normal file
View File

@ -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

16
READMY.txt Normal file
View File

@ -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"
},

18
Src/ComIntCmd/CmdTable.c Normal file
View File

@ -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;
}

10
Src/ComIntCmd/Mandatory.c Normal file
View File

@ -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);
}

9
Src/ComIntCmd/Null.c Normal file
View File

@ -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;
}

17
Src/ComIntCmd/Ping.c Normal file
View File

@ -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;
}

17
modular.json Normal file
View File

@ -0,0 +1,17 @@
{
"dep": [
{
"type": "git",
"provider": "HVAC_M7",
"repo": "XfcTransportProtocol"
}
],
"cmake": {
"inc_dirs": [
"Inc"
],
"srcs": [
"Src/**.c"
]
}
}