diff options
| author | mark9064 <30447455+mark9064@users.noreply.github.com> | 2024-04-01 17:14:33 +0100 |
|---|---|---|
| committer | JF <JF002@users.noreply.github.com> | 2024-05-01 16:13:47 +0200 |
| commit | 940cd3459f95073e60c61b37519486f569aac840 (patch) | |
| tree | 83298f672c512a5d3a2d5a990bfbcbbbb29296ad /src/drivers/SpiMaster.h | |
| parent | 869bec8f88f72560847ea780ee8342eeb0bc215c (diff) | |
Use functional abstraction for hooks
Diffstat (limited to 'src/drivers/SpiMaster.h')
| -rw-r--r-- | src/drivers/SpiMaster.h | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/drivers/SpiMaster.h b/src/drivers/SpiMaster.h index 131965e1..21980f4f 100644 --- a/src/drivers/SpiMaster.h +++ b/src/drivers/SpiMaster.h @@ -1,6 +1,7 @@ #pragma once #include <cstddef> #include <cstdint> +#include <functional> #include <FreeRTOS.h> #include <semphr.h> @@ -31,7 +32,7 @@ namespace Pinetime { SpiMaster& operator=(SpiMaster&&) = delete; bool Init(); - bool Write(uint8_t pinCsn, const uint8_t* data, size_t size, void (*TransactionHook)(bool)); + bool Write(uint8_t pinCsn, const uint8_t* data, size_t size, std::function<void(bool)> TransactionHook); bool Read(uint8_t pinCsn, uint8_t* cmd, size_t cmdSize, uint8_t* data, size_t dataSize); bool WriteCmdAndBuffer(uint8_t pinCsn, const uint8_t* cmd, size_t cmdSize, const uint8_t* data, size_t dataSize); @@ -50,7 +51,7 @@ namespace Pinetime { NRF_SPIM_Type* spiBaseAddress; uint8_t pinCsn; - void (*TransactionHook)(bool); + std::function<void(bool)> TransactionHook; SpiMaster::SpiModule spi; SpiMaster::Parameters params; |
