This commit is contained in:
cfif 2024-12-04 13:10:49 +03:00
commit 3df89e99d6
2 changed files with 35 additions and 0 deletions

28
Inc/SpiPortIO.h Normal file
View File

@ -0,0 +1,28 @@
//
// Created by cfif on 28.09.22.
//
#ifndef MODULE_SPIPORTIO_H
#define MODULE_SPIPORTIO_H
#include "stdint.h"
#include "stdbool.h"
typedef bool (*SpiPortIOTransaction )(void *env, uint16_t *data, uint32_t timeout);
typedef bool (*SpiPortChipArbitrage )(void *env, uint32_t timeout);
//chipSelect должен работать для всех чипов на шине(их может быть несколько)
//соответственно в реализации функци chipSelect и chipRelease может не просто происходить включение и выключение пина
//но и разделение доступа между разными устройройствами при помоши мьютексов
typedef struct {
void *env;
SpiPortIOTransaction receive;
SpiPortIOTransaction transmit;
SpiPortChipArbitrage chipSelect;
SpiPortChipArbitrage chipRelease;
} tSpiPortIO;
#endif //MODULE_SPIPORTIO_H

7
modular.json Normal file
View File

@ -0,0 +1,7 @@
{
"cmake": {
"inc_dirs": [
"Inc"
]
}
}