#include "C_LinkSPI.h" #include "../LinkSPI.hpp" extern "C" { C_LinkSPIHandle C_LinkSPI_create() { return new LinkSPI(); } void C_LinkSPI_destroy(C_LinkSPIHandle handle) { delete static_cast(handle); } bool C_LinkSPI_isActive(C_LinkSPIHandle handle) { return static_cast(handle)->isActive(); } void C_LinkSPI_activate(C_LinkSPIHandle handle, C_LinkSPI_Mode mode, C_LinkSPI_DataSize dataSize) { static_cast(handle)->activate( static_cast(mode), static_cast(dataSize)); } void C_LinkSPI_deactivate(C_LinkSPIHandle handle) { static_cast(handle)->deactivate(); } u32 C_LinkSPI_transfer(C_LinkSPIHandle handle, u32 data) { return static_cast(handle)->transfer(data); } u32 C_LinkSPI_transferWithCancel(C_LinkSPIHandle handle, u32 data, bool (*cancel)()) { return static_cast(handle)->transfer(data, cancel); } void C_LinkSPI_transferAsync(C_LinkSPIHandle handle, u32 data) { static_cast(handle)->transferAsync(data); } void C_LinkSPI_transferAsyncWithCancel(C_LinkSPIHandle handle, u32 data, bool (*cancel)()) { static_cast(handle)->transferAsync(data, cancel); } C_LinkSPI_AsyncState C_LinkSPI_getAsyncState(C_LinkSPIHandle handle) { return static_cast( static_cast(handle)->getAsyncState()); } u32 C_LinkSPI_getAsyncData(C_LinkSPIHandle handle) { return static_cast(handle)->getAsyncData(); } C_LinkSPI_Mode C_LinkSPI_getMode(C_LinkSPIHandle handle) { return static_cast(static_cast(handle)->getMode()); } C_LinkSPI_DataSize C_LinkSPI_getDataSize(C_LinkSPIHandle handle) { return static_cast( static_cast(handle)->getDataSize()); } void C_LinkSPI_setWaitModeActive(C_LinkSPIHandle handle, bool isActive) { static_cast(handle)->setWaitModeActive(isActive); } bool C_LinkSPI_isWaitModeActive(C_LinkSPIHandle handle) { return static_cast(handle)->isWaitModeActive(); } void C_LinkSPI_onSerial(C_LinkSPIHandle handle, bool customAck) { static_cast(handle)->_onSerial(customAck); } }