commit 57e308226bc2f8dd7eb09c4492e3d3e280c566e4 Author: cfif Date: Mon May 26 14:41:46 2025 +0300 Init diff --git a/Inc/SpiPortIO.h b/Inc/SpiPortIO.h new file mode 100644 index 0000000..7899fb8 --- /dev/null +++ b/Inc/SpiPortIO.h @@ -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 diff --git a/modular.json b/modular.json new file mode 100644 index 0000000..9bdd478 --- /dev/null +++ b/modular.json @@ -0,0 +1,7 @@ +{ + "cmake": { + "inc_dirs": [ + "Inc" + ] + } +} \ No newline at end of file