diff --git a/.gitmodules b/.gitmodules index 6593db3bc34..43b38197885 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,6 +1,3 @@ -[submodule "libraries/libtinyiiod"] - path = libraries/libtinyiiod - url = https://github.com/analogdevicesinc/libtinyiiod [submodule "libraries/mbedtls"] path = libraries/mbedtls url = https://github.com/ARMmbed/mbedtls diff --git a/iio/iio.h b/iio/iio.h deleted file mode 100644 index 242b6447b14..00000000000 --- a/iio/iio.h +++ /dev/null @@ -1,98 +0,0 @@ -/***************************************************************************//** - * @file iio.h - * @brief Header file of iio - * @author Cristian Pop (cristian.pop@analog.com) -******************************************************************************** - * Copyright 2013(c) Analog Devices, Inc. - * - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - Neither the name of Analog Devices, Inc. nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - The use of this software may or may not infringe the patent rights - * of one or more patent holders. This license does not release you - * from the requirement that you obtain separate licenses from these - * patent holders to use this software. - * - Use of the software either in source or binary form, must be run - * on or directly connected to an Analog Devices Inc. component. - * - * THIS SOFTWARE IS PROVIDED BY ANALOG DEVICES "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, NON-INFRINGEMENT, - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - * IN NO EVENT SHALL ANALOG DEVICES BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, INTELLECTUAL PROPERTY RIGHTS, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*******************************************************************************/ - -#ifndef IIO_H_ -#define IIO_H_ - -/******************************************************************************/ -/***************************** Include Files **********************************/ -/******************************************************************************/ - -#include "tinyiiod.h" -#include "iio_types.h" - -/******************************************************************************/ -/*************************** Types Declarations *******************************/ -/******************************************************************************/ - -/** - * @struct iio_interface - * @brief Links a physical device instance "void *dev_instance" - * with a "iio_device *iio" that describes capabilities of the device. - */ -struct iio_interface { - /** Device name */ - const char *name; - /** Opened channels */ - uint32_t ch_mask; - /** Physical instance of a device */ - void *dev_instance; - /** Device descriptor(describes channels and attributes) */ - struct iio_device *iio; - /** Generate device xml */ - ssize_t (*get_xml)(char **xml, struct iio_device *iio); - /** Transfer data from device into RAM */ - ssize_t (*transfer_dev_to_mem)(void *dev_instance, size_t bytes_count, - uint32_t ch_mask); - /** Read data from RAM to pbuf. It should be called after "transfer_dev_to_mem" */ - ssize_t (*read_data)(void *dev_instance, char *pbuf, size_t offset, - size_t bytes_count, uint32_t ch_mask); - /** Transfer data from RAM to device */ - ssize_t (*transfer_mem_to_dev)(void *dev_instance, size_t bytes_count, - uint32_t ch_mask); - /** Write data to RAM. It should be called before "transfer_mem_to_dev" */ - ssize_t (*write_data)(void *dev_instance, char *pbuf, size_t offset, - size_t bytes_count, uint32_t ch_mask); -}; - -/******************************************************************************/ -/************************ Functions Declarations ******************************/ -/******************************************************************************/ - -/* Set communication ops and read/write ops that will be called from - * "libtinyiiod". */ -ssize_t iio_init(struct tinyiiod **iiod, struct iio_server_ops *comm_ops); -/* Free the resources allocated by iio_init(). */ -ssize_t iio_remove(struct tinyiiod *iiod); -/* Register interface. */ -ssize_t iio_register(struct iio_interface *iio_interface); -/* Unregister interface. */ -ssize_t iio_unregister(struct iio_interface *iio_interface); - -#endif /* IIO_H_ */ diff --git a/iio/iio_app/iio_app.c b/iio/iio_app/iio_app.c deleted file mode 100644 index 95467c5b68f..00000000000 --- a/iio/iio_app/iio_app.c +++ /dev/null @@ -1,113 +0,0 @@ -/***************************************************************************//** - * @file iio_app.c - * @brief Implementation of iio_app. - * This application instantiates iio_axi_adc and iio_axi_dac devices, for - * reading/writing and parameterization. - * @author Cristian Pop (cristian.pop@analog.com) -******************************************************************************** - * Copyright 2019(c) Analog Devices, Inc. - * - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - Neither the name of Analog Devices, Inc. nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - The use of this software may or may not infringe the patent rights - * of one or more patent holders. This license does not release you - * from the requirement that you obtain separate licenses from these - * patent holders to use this software. - * - Use of the software either in source or binary form, must be run - * on or directly connected to an Analog Devices Inc. component. - * - * THIS SOFTWARE IS PROVIDED BY ANALOG DEVICES "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, NON-INFRINGEMENT, - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - * IN NO EVENT SHALL ANALOG DEVICES BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, INTELLECTUAL PROPERTY RIGHTS, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*******************************************************************************/ - -/******************************************************************************/ -/***************************** Include Files **********************************/ -/******************************************************************************/ - -#include "error.h" -#include "iio.h" -#include "iio_app.h" - -/** - * @brief Application parameterization. - * @param desc - Application descriptor. - * @param param - Application initial configuration structure. - * @return SUCCESS in case of success, FAILURE otherwise. - */ -int32_t iio_app_init(struct iio_app_desc **desc, - struct iio_app_init_param *param) -{ - struct tinyiiod *iiod; - int32_t status; - - if (!param) - return FAILURE; - - status = iio_init(&iiod, param->iio_server_ops); - if(status < 0) - return status; - - *desc = calloc(1, sizeof(struct iio_app_desc)); - if (!(*desc)) - return FAILURE; - - (*desc)->iiod = iiod; - - return SUCCESS; -} - -/** - * @brief Release resources. - * @param desc - Application descriptor. - * @return SUCCESS in case of success, FAILURE otherwise. - */ -int32_t iio_app_remove(struct iio_app_desc *desc) -{ - int32_t status; - - if (!desc) - return FAILURE; - - status = iio_remove(desc->iiod); - if(status < 0) - return status; - - free(desc); - - return SUCCESS; -} - -/** - * @brief iio application, reads commands and executes them. - * @param desc - Application descriptor. - * @return: SUCCESS in case of success, FAILURE otherwise. - */ -int32_t iio_app(struct iio_app_desc *desc) -{ - int32_t status; - - while(1) { - status = tinyiiod_read_command(desc->iiod); - if(status < 0) - return status; - } -} \ No newline at end of file diff --git a/iio/iio_app/iio_app.h b/iio/iio_app/iio_app.h deleted file mode 100644 index 51a32db3b99..00000000000 --- a/iio/iio_app/iio_app.h +++ /dev/null @@ -1,85 +0,0 @@ -/***************************************************************************//** - * @file iio_app.h - * @brief Header file of iio_app. - * @author Cristian Pop (cristian.pop@analog.com) -******************************************************************************** - * Copyright 2019(c) Analog Devices, Inc. - * - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - Neither the name of Analog Devices, Inc. nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - The use of this software may or may not infringe the patent rights - * of one or more patent holders. This license does not release you - * from the requirement that you obtain separate licenses from these - * patent holders to use this software. - * - Use of the software either in source or binary form, must be run - * on or directly connected to an Analog Devices Inc. component. - * - * THIS SOFTWARE IS PROVIDED BY ANALOG DEVICES "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, NON-INFRINGEMENT, - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - * IN NO EVENT SHALL ANALOG DEVICES BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, INTELLECTUAL PROPERTY RIGHTS, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*******************************************************************************/ - -#ifndef IIO_APP_H_ -#define IIO_APP_H_ - -/******************************************************************************/ -/***************************** Include Files **********************************/ -/******************************************************************************/ - -#include "iio_types.h" - -/******************************************************************************/ -/*************************** Types Declarations *******************************/ -/******************************************************************************/ - -/** - * @struct iio_app_desc - * @brief Application desciptor. - */ -struct iio_app_desc { - /** read./write function callbacks */ - struct iio_server_ops *iio_server_ops; - /** iiod handle */ - struct tinyiiod *iiod; -}; - -/** - * @struct iio_app_init_param - * @brief Application initial configuration. - */ -struct iio_app_init_param { - /** read./write function callbacks */ - struct iio_server_ops *iio_server_ops; -}; - -/******************************************************************************/ -/************************ Functions Declarations ******************************/ -/******************************************************************************/ - -/* Init application. */ -int32_t iio_app_init(struct iio_app_desc **desc, - struct iio_app_init_param *param); -/* Free the resources allocated by iio_app_init(). */ -int32_t iio_app_remove(struct iio_app_desc *desc); -/* Basic iio application loop. */ -int32_t iio_app(struct iio_app_desc *desc); - -#endif // IIO_APP_H_ \ No newline at end of file diff --git a/iio/iio_types.h b/iio/iio_types.h deleted file mode 100644 index f99447d5c86..00000000000 --- a/iio/iio_types.h +++ /dev/null @@ -1,119 +0,0 @@ -/***************************************************************************//** - * @file iio_types.h - * @brief Header file for iio_types - * @author Cristian Pop (cristian.pop@analog.com) -******************************************************************************** - * Copyright 2013(c) Analog Devices, Inc. - * - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - Neither the name of Analog Devices, Inc. nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - The use of this software may or may not infringe the patent rights - * of one or more patent holders. This license does not release you - * from the requirement that you obtain separate licenses from these - * patent holders to use this software. - * - Use of the software either in source or binary form, must be run - * on or directly connected to an Analog Devices Inc. component. - * - * THIS SOFTWARE IS PROVIDED BY ANALOG DEVICES "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, NON-INFRINGEMENT, - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - * IN NO EVENT SHALL ANALOG DEVICES BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, INTELLECTUAL PROPERTY RIGHTS, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*******************************************************************************/ -#ifndef IIO_TYPES_H_ -#define IIO_TYPES_H_ - -/******************************************************************************/ -/***************************** Include Files **********************************/ -/******************************************************************************/ - -#include -#include -#include - -/******************************************************************************/ -/*************************** Types Declarations *******************************/ -/******************************************************************************/ - -/** - * @struct iio_ch_info - * @brief Structure holding channel attributess. - */ -struct iio_ch_info { - /** Channel number */ - int16_t ch_num; - /** Channel type: input/output */ - bool ch_out; -}; - -/** - * @struct iio_attribute - * @brief Structure holding pointers to show and store functions. - */ -struct iio_attribute { - /** Attribute name */ - const char *name; - /** Show function pointer */ - ssize_t (*show)(void *device, char *buf, size_t len, - const struct iio_ch_info *channel); - /** Store function pointer */ - ssize_t (*store)(void *device, char *buf, size_t len, - const struct iio_ch_info *channel); -}; - -/** - * @struct iio_channel - * @brief Structure holding attributes of a channel. - */ -struct iio_channel { - /** channel name */ - char *name; - /** list of attributes */ - struct iio_attribute **attributes; - /** if true, the channel is an output channel */ - bool ch_out; -}; - -/** - * @struct iio_device - * @brief Structure holding channels and attributes of a device. - */ -struct iio_device { - /** Device name */ - const char *name; - /** Device number of channels */ - uint16_t num_ch; - /** List of channels */ - struct iio_channel **channels; - /** List of attributes */ - struct iio_attribute **attributes; -}; - -/** - * @struct iio_server_ops - * @brief iio interface for server read/write operations - */ -struct iio_server_ops { - /** Read from from a peripheral device (UART, USB, NETWORK) */ - ssize_t (*read)(char *buf, size_t len); - /** Write to a peripheral device (UART, USB, NETWORK) */ - ssize_t (*write)(const char *buf, size_t len); -}; - -#endif /* IIO_TYPES_H_ */ diff --git a/libraries/libtinyiiod b/libraries/libtinyiiod deleted file mode 160000 index 6d696c5bda7..00000000000 --- a/libraries/libtinyiiod +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 6d696c5bda78d8a07052dd6738d780e90a677f8b