Nisarg Sheth / ADMX2001
Revision:
2:4af4940055a7
Parent:
1:416c87ab2f9f
Child:
9:f286301109fb
--- a/ADMX2001.h	Tue May 25 15:45:50 2021 +0000
+++ b/ADMX2001.h	Tue Oct 05 10:31:50 2021 +0000
@@ -0,0 +1,63 @@
+/******************************************************************************
+ Copyright (c) 2020 - 2021  Analog Devices Inc. All Rights Reserved.
+ This software is proprietary & confidential to Analog Devices, Inc.
+ and its licensors.
+******************************************************************************/
+/**
+ * @file     admx200x.h
+ * @brief    This file contains admx200x APIs for sdpk1 host
+ * @addtogroup SDPK1
+ * @{
+ */
+#ifndef __ADMX200X_H__
+#define __ADMX200X_H__
+
+/*=============  I N C L U D E S   =============*/
+#include "platform_drivers.h"
+#include <stdint.h>
+
+/*=============   D  A T A T Y P E S  =============*/
+/**
+ * @brief The structure describes the device and is used with the admx2000x
+ * driver.
+ *
+ */
+typedef struct
+{
+    /** SPI */
+    spi_desc *pSpiDesc;
+    /** Add more elements in furture to describe device */
+
+} Admx200xDev;
+
+/**=============  D E F I N I T I O N S  =============*/
+#define SPI_TIMEOUT 100
+/*============= P U B L I C   P R O T O T Y P E S =============*/
+
+/**  Initializes the ADMX200X. **/
+int32_t Admx200xInit(Admx200xDev *pDevice, spi_desc *pSpiDesc);
+
+int32_t Admx200xCreateCmdPayload(uint8_t *pCmdId, uint16_t *pAddr,
+                                 uint32_t *pData, uint8_t *pBuffer);
+
+int32_t Admx200xParseCmdPayload(uint8_t *pBuffer, uint8_t *pCmdId,
+                                uint16_t *pAddr, uint32_t *pData);
+
+int32_t Admx200xWaitForStatus(Admx200xDev *pDevice, uint32_t timeout,
+                              uint32_t reqStatus, uint32_t *pStatReg);
+
+int32_t Admx200xSendCmd(Admx200xDev *pDevice, uint8_t *pCmdId, uint16_t *pAddr,
+                        uint32_t *pData, uint32_t *pStatReg);
+
+int32_t Admx200xReadData(Admx200xDev *pDevice, uint8_t cmdId,
+                         uint32_t *pResult);
+
+int32_t Admx200xReadFifo(Admx200xDev *pDevice, double *pFifo, int32_t *pCount);
+
+int32_t Admx200xClearSPI(Admx200xDev *pDevice);
+
+#endif /* __ADMX200X_H__ */
+
+/**
+ * @}
+ */