#ifndef PLSR_PLATFORM_H #define PLSR_PLATFORM_H #include "plsr_internal.h" #include uint8_t PlsrPlatformInit(void); uint8_t PlsrPlatformPrepare(uint8_t pulseOutput, uint8_t directionOutput, uint8_t directionLevel); uint8_t PlsrPlatformStartPulse(uint8_t pulseOutput, uint32_t firstFrequencyHz, uint32_t queuedFrequencyHz, uint32_t *actualFirstFrequencyHz, uint32_t *actualQueuedFrequencyHz); uint8_t PlsrPlatformQueueFrequency(uint8_t pulseOutput, uint32_t frequencyHz, uint32_t *actualFrequencyHz); void PlsrPlatformDrainPendingPulse(uint8_t pulseOutput); uint32_t PlsrPlatformActiveFrequency(uint8_t pulseOutput); void PlsrPlatformStopPulse(uint8_t pulseOutput); uint8_t PlsrPlatformReadInput(uint8_t inputSelection); uint8_t PlsrPlatformLoad(PLSR_PERSIST_PAYLOAD *payload); uint8_t PlsrPlatformSave(const PLSR_PERSIST_PAYLOAD *payload); void PlsrPlatformCheckpointConfig(const PLSR_CONFIG *config); void PlsrPlatformCheckpointPosition(int32_t position, uint8_t positionValid, uint8_t wasBusy); uint32_t PlsrPlatformEnterCritical(void); void PlsrPlatformExitCritical(uint32_t state); #endif /* PLSR_PLATFORM_H */