diff --git a/doxygen/ad2s1210__iio_2app_2app__config_8c.html b/doxygen/ad2s1210__iio_2app_2app__config_8c.html index f441cfc8..a322f7c6 100644 --- a/doxygen/ad2s1210__iio_2app_2app__config_8c.html +++ b/doxygen/ad2s1210__iio_2app_2app__config_8c.html @@ -190,13 +190,15 @@

- + - + + - + + diff --git a/doxygen/ad2s1210__iio_2app_2app__config_8c_aba990e48bb1b87852ff6a375f0c2f655_icgraph.map b/doxygen/ad2s1210__iio_2app_2app__config_8c_aba990e48bb1b87852ff6a375f0c2f655_icgraph.map index 081752ea..ed1d77db 100644 --- a/doxygen/ad2s1210__iio_2app_2app__config_8c_aba990e48bb1b87852ff6a375f0c2f655_icgraph.map +++ b/doxygen/ad2s1210__iio_2app_2app__config_8c_aba990e48bb1b87852ff6a375f0c2f655_icgraph.map @@ -1,9 +1,11 @@ - + - + + - + + diff --git a/doxygen/ad2s1210__iio_2app_2app__config_8c_aba990e48bb1b87852ff6a375f0c2f655_icgraph.md5 b/doxygen/ad2s1210__iio_2app_2app__config_8c_aba990e48bb1b87852ff6a375f0c2f655_icgraph.md5 index 21fe1018..f73ce312 100644 --- a/doxygen/ad2s1210__iio_2app_2app__config_8c_aba990e48bb1b87852ff6a375f0c2f655_icgraph.md5 +++ b/doxygen/ad2s1210__iio_2app_2app__config_8c_aba990e48bb1b87852ff6a375f0c2f655_icgraph.md5 @@ -1 +1 @@ -d6f188044a589aed9f363e477a337039 \ No newline at end of file +46d5f8f6271da990616271f44682bad5 \ No newline at end of file diff --git a/doxygen/ad2s1210__iio_2app_2app__config_8c_aba990e48bb1b87852ff6a375f0c2f655_icgraph.png b/doxygen/ad2s1210__iio_2app_2app__config_8c_aba990e48bb1b87852ff6a375f0c2f655_icgraph.png index 34b009fc..41009e25 100644 Binary files a/doxygen/ad2s1210__iio_2app_2app__config_8c_aba990e48bb1b87852ff6a375f0c2f655_icgraph.png and b/doxygen/ad2s1210__iio_2app_2app__config_8c_aba990e48bb1b87852ff6a375f0c2f655_icgraph.png differ diff --git a/doxygen/ad2s1210__iio_2app_2app__config_8h.html b/doxygen/ad2s1210__iio_2app_2app__config_8h.html index c5c20962..12f0f690 100644 --- a/doxygen/ad2s1210__iio_2app_2app__config_8h.html +++ b/doxygen/ad2s1210__iio_2app_2app__config_8h.html @@ -1034,7 +1034,9 @@

Initialize the PWM trigger contoller.

-
Returns
0 in case of success, negative error code otherwise
+
Returns
0 in case of success, negative error code otherwise
+

Initialize the PWM trigger contoller.

+
Returns
0 in case of success, negative error code otherwise.
diff --git a/doxygen/ad355xr__iio_2app_2app__config_8h.html b/doxygen/ad355xr__iio_2app_2app__config_8h.html index 0d12f76e..5d8a363d 100644 --- a/doxygen/ad355xr__iio_2app_2app__config_8h.html +++ b/doxygen/ad355xr__iio_2app_2app__config_8h.html @@ -159,7 +159,7 @@   #define 
USE_VIRTUAL_COM_PORT   -#define INTERFACE_MODE   SPI_INTERRUPT +#define INTERFACE_MODE   SPI_INTERRUPT   #define DAC_RESOLUTION   16   @@ -425,7 +425,7 @@

- +
#define INTERFACE_MODE   SPI_INTERRUPT#define INTERFACE_MODE   SPI_INTERRUPT
},
.crc_en = false,
-
.is_simultaneous =false
+
.is_simultaneous = false
}
#define spi_ops
Definition: app_config.h:86
#define spi_extra_init_params
Definition: app_config.h:80
diff --git a/doxygen/ad405x__iio_2app_2app__config_8h.html b/doxygen/ad405x__iio_2app_2app__config_8h.html index ff711c80..e5675dc4 100644 --- a/doxygen/ad405x__iio_2app_2app__config_8h.html +++ b/doxygen/ad405x__iio_2app_2app__config_8h.html @@ -161,7 +161,7 @@   #define ADC_DATA_FORMAT   TWOS_COMPLEMENT   -#define INTERFACE_MODE   SPI_DMA +#define INTERFACE_MODE   SPI_DMA   #define ACTIVE_DEVICE_NAME   "ad4052"   @@ -565,7 +565,7 @@

- +
#define INTERFACE_MODE   SPI_DMA#define INTERFACE_MODE   SPI_DMA
diff --git a/doxygen/ad405x__iio_2app_2app__config__stm32_8c.html b/doxygen/ad405x__iio_2app_2app__config__stm32_8c.html index fcf6aac7..918790b9 100644 --- a/doxygen/ad405x__iio_2app_2app__config__stm32_8c.html +++ b/doxygen/ad405x__iio_2app_2app__config__stm32_8c.html @@ -122,7 +122,7 @@ void halfcmplt_callback (DMA_HandleTypeDef *hdma)  Callback function to flag the capture of half the number of requested samples. More...
  -void update_buff (uint32_t *local_buf, uint32_t *buf_start_addr) +void update_buff (uint32_t *local_buf, uint32_t *buf_start_addr)  Update buffer index. More...
  void stm32_timer_enable (void) diff --git a/doxygen/ad405x__iio_2app_2app__config__stm32_8h.html b/doxygen/ad405x__iio_2app_2app__config__stm32_8h.html index defa7abf..49843695 100644 --- a/doxygen/ad405x__iio_2app_2app__config__stm32_8h.html +++ b/doxygen/ad405x__iio_2app_2app__config__stm32_8h.html @@ -207,7 +207,7 @@   #define pwm_gpio_extra_init_params   stm32_pwm_gpio_extra_init_params   -#define gp0_extra_init_params   stm32_gpio_gp0_extra_init_params +#define gp0_extra_init_params   stm32_gpio_gp0_extra_init_params   #define gp1_extra_init_params   stm32_gpio_gp1_extra_init_params   @@ -215,9 +215,9 @@   #define dma_extra_init_params   stm32_dma_extra_init_params   -#define cs_extra_init_params   stm32_cs_extra_init_params +#define cs_extra_init_params   stm32_cs_extra_init_params   -#define tx_trigger_extra_init_params   stm32_tx_trigger_extra_init_params +#define tx_trigger_extra_init_params   stm32_tx_trigger_extra_init_params   #define gpio_ops   stm32_gpio_ops   @@ -249,7 +249,7 @@ void halfcmplt_callback (DMA_HandleTypeDef *hdma)  Callback function to flag the capture of half the number of requested samples. More...
  -void update_buff (uint32_t *local_buf, uint32_t *buf_start_addr) +void update_buff (uint32_t *local_buf, uint32_t *buf_start_addr)  Update buffer index. More...
  void stm32_system_init (void) @@ -475,7 +475,7 @@

- +
#define cs_extra_init_params   stm32_cs_extra_init_params#define cs_extra_init_params   stm32_cs_extra_init_params

@@ -1237,7 +1245,14 @@

Parameters
+ + +
hdma- DMA Handler (Unused)
+
+ +
Returns
None
@@ -1462,7 +1477,10 @@

Configure Tx Trigger timer.

-
Returns
None
+
Returns
None
+
+None
+
Note
Tx timer acts as a slave for External Trigger (ETR1) in one-pulse mode to generate DMA requests
diff --git a/doxygen/ad405x__iio_8c.html b/doxygen/ad405x__iio_8c.html index 3c551a22..f4619409 100644 --- a/doxygen/ad405x__iio_8c.html +++ b/doxygen/ad405x__iio_8c.html @@ -166,7 +166,7 @@   #define 
MAX_LOCAL_BUF_SIZE   32000   -#define MAX_DMA_NDTR   (no_os_min(65535, MAX_LOCAL_BUF_SIZE/2)) +#define MAX_DMA_NDTR   (no_os_min(65535, MAX_LOCAL_BUF_SIZE/2))   - + @@ -404,7 +404,7 @@

@@ -210,7 +210,7 @@

 
volatile uint32_t * buff_start_addr
 
uint8_t local_buf [MAX_LOCAL_BUF_SIZE]
uint8_t local_buf [MAX_LOCAL_BUF_SIZE]
 
volatile bool dma_config_updated = false
 
- +
#define MAX_DMA_NDTR   (no_os_min(65535, MAX_LOCAL_BUF_SIZE/2))#define MAX_DMA_NDTR   (no_os_min(65535, MAX_LOCAL_BUF_SIZE/2))
diff --git a/doxygen/ad4170__iio_2app_2app__config__stm32_8c.html b/doxygen/ad4170__iio_2app_2app__config__stm32_8c.html index 4625c03c..999819be 100644 --- a/doxygen/ad4170__iio_2app_2app__config__stm32_8c.html +++ b/doxygen/ad4170__iio_2app_2app__config__stm32_8c.html @@ -137,7 +137,7 @@ void ad4170_spi_dma_rx_half_cplt_callback (DMA_HandleTypeDef *hdma)  Callback function to flag the capture of Half the number of requested samples. More...
  -void update_buff (uint32_t *local_buf, uint32_t *buf_start_addr) +void update_buff (uint32_t *local_buf, uint32_t *buf_start_addr)  Update buffer index. More...
  void tim8_config (void) diff --git a/doxygen/ad4170__iio_2app_2app__config__stm32_8h.html b/doxygen/ad4170__iio_2app_2app__config__stm32_8h.html index f162911f..97bd7d29 100644 --- a/doxygen/ad4170__iio_2app_2app__config__stm32_8h.html +++ b/doxygen/ad4170__iio_2app_2app__config__stm32_8h.html @@ -201,7 +201,7 @@ void ad4170_spi_dma_rx_half_cplt_callback (DMA_HandleTypeDef *hdma)  Callback function to flag the capture of Half the number of requested samples. More...
  -void update_buff (uint32_t *local_buf, uint32_t *buf_start_addr) +void update_buff (uint32_t *local_buf, uint32_t *buf_start_addr)  Update buffer index. More...
  void tim8_init (struct no_os_pwm_desc *pwm_desc) @@ -791,7 +791,10 @@

Configure Tx Trigger timer.

-
Returns
None
+
Returns
None
+
+None
+
Note
Tx timer acts as a slave for External Trigger (ETR1) in one-pulse mode to generate DMA requests

diff --git a/doxygen/ad469x__iio_2app_2app__config_8h.html b/doxygen/ad469x__iio_2app_2app__config_8h.html index 942288ab..4b1bd6cd 100644 --- a/doxygen/ad469x__iio_2app_2app__config_8h.html +++ b/doxygen/ad469x__iio_2app_2app__config_8h.html @@ -134,7 +134,7 @@   #define ACTIVE_PLATFORM   MBED_PLATFORM   -#define INTERFACE_MODE   SPI_INTERRUPT +#define INTERFACE_MODE   SPI_INTERRUPT   #define USE_VIRTUAL_COM_PORT   @@ -561,7 +561,7 @@

- +
#define INTERFACE_MODE   SPI_INTERRUPT#define INTERFACE_MODE   SPI_INTERRUPT
diff --git a/doxygen/ad469x__iio_2app_2app__config_8h_source.html b/doxygen/ad469x__iio_2app_2app__config_8h_source.html index 3a811e22..e0a4c154 100644 --- a/doxygen/ad469x__iio_2app_2app__config_8h_source.html +++ b/doxygen/ad469x__iio_2app_2app__config_8h_source.html @@ -276,9 +276,9 @@
217 extern struct no_os_dma_init_param ad469x_dma_init_param;
218 extern struct no_os_gpio_init_param pwm_gpio_params;
219 extern struct no_os_gpio_init_param cs_pwm_gpio_params;
-
220 extern volatile struct iio_device_data* global_iio_dev_data;
+
220 extern volatile struct iio_device_data* global_iio_dev_data;
221 extern struct no_os_pwm_init_param pwm_init_params;
-
222 extern uint32_t global_nb_of_samples;
+
222 extern uint32_t global_nb_of_samples;
223 extern volatile uint32_t* buff_start_addr;
224 extern int32_t data_read;
225 #endif
@@ -303,8 +303,8 @@
struct no_os_gpio_init_param pwm_gpio_params
Definition: app_config.h:235
int32_t init_pwm(void)
Initialize the PWM interface.
Definition: app_config.c:283
void burst_capture_callback(void *context)
Interrupt Service Routine to monitor end of conversion event.
Definition: ad469x_iio.c:1033
-
uint32_t global_nb_of_samples
Definition: ad469x_iio.c:278
-
volatile struct iio_device_data * global_iio_dev_data
Definition: ad469x_iio.c:275
+
uint32_t global_nb_of_samples
Definition: ad469x_iio.c:278
+
volatile struct iio_device_data * global_iio_dev_data
Definition: ad469x_iio.c:275
Header file for Mbed platform configurations.
diff --git a/doxygen/ad469x__iio_2app_2app__config__stm32_8h.html b/doxygen/ad469x__iio_2app_2app__config__stm32_8h.html index 6110fce8..edfe29db 100644 --- a/doxygen/ad469x__iio_2app_2app__config__stm32_8h.html +++ b/doxygen/ad469x__iio_2app_2app__config__stm32_8h.html @@ -1091,16 +1091,14 @@

-Here is the caller graph for this function: -
-
- - - - -
+None +
Parameters
+ + +
hdma- DMA Handler (Unused)
+
+
+
Returns
None
@@ -1291,7 +1289,10 @@

Configure Tx Trigger timer.

-
Returns
None
+
Returns
None
+
+None
+
Note
Tx timer acts as a slave for External Trigger (ETR1) in one-pulse mode to generate DMA requests
diff --git a/doxygen/ad579x__iio_2app_2app__config_8h.html b/doxygen/ad579x__iio_2app_2app__config_8h.html index be6c1c51..a090796f 100644 --- a/doxygen/ad579x__iio_2app_2app__config_8h.html +++ b/doxygen/ad579x__iio_2app_2app__config_8h.html @@ -913,7 +913,9 @@

Initialize the PWM trigger contoller.

-
Returns
0 in case of success, negative error code otherwise
+
Returns
0 in case of success, negative error code otherwise
+

Initialize the PWM trigger contoller.

+
Returns
0 in case of success, negative error code otherwise.
diff --git a/doxygen/ad7091r__iio_2app_2app__config_8c.html b/doxygen/ad7091r__iio_2app_2app__config_8c.html new file mode 100644 index 00000000..d31a3b24 --- /dev/null +++ b/doxygen/ad7091r__iio_2app_2app__config_8c.html @@ -0,0 +1,583 @@ + + + + + + + +precision-converters-firmware: /home/runner/work/precision-converters-firmware/precision-converters-firmware/projects/ad7091r_iio/app/app_config.c File Reference + + + + + + + + + +
+
+ +
+
app_config.c File Reference
+
+
+ +

Application configurations module (platform-agnostic) +More...

+
#include "app_config.h"
+#include "no_os_util.h"
+#include "common.h"
+#include "no_os_error.h"
+#include "no_os_uart.h"
+#include "no_os_i2c.h"
+#include "no_os_eeprom.h"
+#include "no_os_irq.h"
+#include "no_os_pwm.h"
+#include "ad7091r_support.h"
+
+Include dependency graph for app_config.c:
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + + +

+Functions

int init_pwm_trigger (void)
 Initialize the PWM trigger controller. More...
 
int init_system (void)
 Initialize the system peripherals. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Variables

struct no_os_uart_init_param uart_iio_comm_init_params
 
struct no_os_uart_init_param uart_console_stdio_init_params
 
struct no_os_irq_init_param trigger_gpio_irq_params
 
struct no_os_gpio_init_param pwm_gpio_params
 
struct no_os_pwm_init_param pwm_init_params
 
struct no_os_pwm_desc * cs_desc
 
struct no_os_gpio_init_param cs_pwm_gpio_params
 
struct no_os_pwm_init_param cs_init_params
 
struct no_os_pwm_init_param tx_trigger_init_params
 
struct no_os_dma_desc * ad7091r_dma_desc
 
struct no_os_pwm_desc * tx_trigger_desc
 
struct no_os_dma_init_param ad7091r_dma_init_param
 
struct no_os_uart_desc * uart_iio_com_desc
 
struct no_os_uart_desc * uart_console_stdio_desc
 
struct no_os_pwm_desc * pwm_desc
 
struct no_os_eeprom_desc * eeprom_desc
 
struct no_os_irq_ctrl_desc * trigger_irq_desc
 
+

Detailed Description

+

Application configurations module (platform-agnostic)

+

This module performs the system configurations

+

Copyright (c) 2024 Analog Devices, Inc. All rights reserved.

+

This software is proprietary to Analog Devices, Inc. and its licensors. By using this software you agree to the terms of the associated Analog Devices Software License Agreement.

+

Function Documentation

+ +

◆ init_pwm_trigger()

+ +
+
+ + + + + + + + +
int init_pwm_trigger (void )
+
+ +

Initialize the PWM trigger controller.

+

Initialize the PWM trigger contoller.

+
Returns
0 in case of success, negative error code otherwise.
+ +
+
+ +

◆ init_system()

+ +
+
+ + + + + + + + +
int init_system (void )
+
+ +

Initialize the system peripherals.

+
Returns
0 in case of success, negative error code otherwise
+ +
+
+

Variable Documentation

+ +

◆ ad7091r_dma_desc

+ +
+
+ + + + +
struct no_os_dma_desc* ad7091r_dma_desc
+
+ +
+
+ +

◆ ad7091r_dma_init_param

+ +
+
+ + + + +
struct no_os_dma_init_param ad7091r_dma_init_param
+
+Initial value:
= {
+
.id = 0,
+ +
.platform_ops = &dma_ops,
+
.sg_handler = receivecomplete_callback,
+
}
+
void receivecomplete_callback(DMA_HandleTypeDef *hdma)
Callback function to flag the capture of number of requested samples.
Definition: app_config_stm32.c:306
+
#define dma_ops
Definition: app_config_stm32.h:106
+
#define AD7091R_DMA_NUM_CHANNELS
Definition: app_config_stm32.h:97
+
+
+
+ +

◆ cs_desc

+ +
+
+ + + + +
struct no_os_pwm_desc* cs_desc
+
+ +
+
+ +

◆ cs_init_params

+ +
+
+ + + + +
struct no_os_pwm_init_param cs_init_params
+
+Initial value:
= {
+
.id = CS_TIMER_ID,
+ +
.duty_cycle_ns = CHIP_SELECT_DUTY_CYCLE_NS,
+
.polarity = NO_OS_PWM_POLARITY_HIGH,
+
.platform_ops = &pwm_ops,
+ +
.pwm_gpio = &cs_pwm_gpio_params
+
}
+
#define pwm_ops
Definition: app_config.h:89
+
#define CONV_TRIGGER_PERIOD_NSEC
Definition: app_config_mbed.h:57
+
#define MAX_SAMPLING_RATE
Definition: app_config_mbed.h:78
+
struct no_os_gpio_init_param cs_pwm_gpio_params
Definition: app_config.c:125
+
#define cs_extra_init_params
Definition: app_config_stm32.h:96
+
#define CS_TIMER_ID
Definition: app_config_stm32.h:82
+
#define CHIP_SELECT_DUTY_CYCLE_NS
Definition: app_config_stm32.h:142
+
+
+
+ +

◆ cs_pwm_gpio_params

+ +
+
+ + + + +
struct no_os_gpio_init_param cs_pwm_gpio_params
+
+Initial value:
= {
+
.port = SPI_CS_PORT_NUM,
+
.number = SPI_CS_PIN_NUM,
+
.platform_ops = &gpio_ops,
+ +
}
+
#define gpio_ops
Definition: app_config.h:85
+
#define SPI_CS_PIN_NUM
Definition: app_config_mbed.h:34
+
#define SPI_CS_PORT_NUM
Definition: app_config_stm32.h:46
+
#define cs_pwm_gpio_extra_init_params
Definition: app_config_stm32.h:111
+
+
+
+ +

◆ eeprom_desc

+ +
+
+ + + + +
struct no_os_eeprom_desc* eeprom_desc
+
+ +
+
+ +

◆ pwm_desc

+ +
+
+ + + + +
struct no_os_pwm_desc* pwm_desc
+
+ +
+
+ +

◆ pwm_gpio_params

+ +
+
+ + + + +
struct no_os_gpio_init_param pwm_gpio_params
+
+Initial value:
= {
+
.port = CNV_PORT,
+
.number = CNV_PIN,
+
.platform_ops = &gpio_ops,
+ +
}
+
#define CNV_PIN
Definition: app_config_mbed.h:39
+
#define pwm_gpio_extra_init_params
Definition: app_config_stm32.h:91
+
#define CNV_PORT
Definition: app_config_stm32.h:50
+
+
+
+ +

◆ pwm_init_params

+ +
+
+ + + + +
struct no_os_pwm_init_param pwm_init_params
+
+Initial value:
= {
+
.id = CNV_PWM_ID,
+ + +
+
.polarity = NO_OS_PWM_POLARITY_LOW,
+
.pwm_gpio = &pwm_gpio_params,
+
+
.platform_ops = &pwm_ops,
+ +
}
+
#define pwm_extra_init_params
Definition: app_config.h:77
+
struct no_os_gpio_init_param pwm_gpio_params
Definition: app_config.c:99
+
#define CNV_PWM_ID
Definition: app_config_stm32.h:75
+
#define PWM_DUTY_CYCLE_NSEC
Definition: app_config_stm32.h:144
+
+
+
+ +

◆ trigger_gpio_irq_params

+ +
+
+ + + + +
struct no_os_irq_init_param trigger_gpio_irq_params
+
+Initial value:
= {
+
.irq_ctrl_id = BSY_PIN,
+
.platform_ops = &trigger_gpio_irq_ops,
+ +
}
+
#define trigger_gpio_irq_extra_params
Definition: app_config.h:81
+
#define trigger_gpio_irq_ops
Definition: app_config.h:90
+
#define BSY_PIN
Definition: app_config_stm32.h:51
+
+
+
+ +

◆ trigger_irq_desc

+ +
+
+ + + + +
struct no_os_irq_ctrl_desc* trigger_irq_desc
+
+ +
+
+ +

◆ tx_trigger_desc

+ +
+
+ + + + +
struct no_os_pwm_desc* tx_trigger_desc
+
+ +
+
+ +

◆ tx_trigger_init_params

+ +
+
+ + + + +
struct no_os_pwm_init_param tx_trigger_init_params
+
+Initial value:
= {
+
.id = TIMER8_ID,
+
.period_ns = TX_TRIGGER_PERIOD,
+
.duty_cycle_ns = TX_TRIGGER_DUTY_CYCLE_NS,
+
.polarity = NO_OS_PWM_POLARITY_LOW,
+
.platform_ops = &pwm_ops,
+ +
}
+
#define tx_trigger_extra_init_params
Definition: app_config_stm32.h:97
+
#define TIMER8_ID
Definition: app_config_stm32.h:78
+
#define TX_TRIGGER_PERIOD
Definition: app_config_stm32.h:113
+
#define TX_TRIGGER_DUTY_CYCLE_NS
Definition: app_config_stm32.h:149
+
+
+
+ +

◆ uart_console_stdio_desc

+ +
+
+ + + + +
struct no_os_uart_desc* uart_console_stdio_desc
+
+ +
+
+ +

◆ uart_console_stdio_init_params

+ +
+
+ + + + +
struct no_os_uart_init_param uart_console_stdio_init_params
+
+Initial value:
= {
+
.device_id = UART_ID,
+
.baud_rate = IIO_UART_BAUD_RATE,
+
.size = NO_OS_UART_CS_8,
+
.parity = NO_OS_UART_PAR_NO,
+
.stop = NO_OS_UART_STOP_1_BIT,
+
+
+
.platform_ops = &uart_ops,
+ +
+
+
+
+
+
+
+
+
+
}
+
#define uart_extra_init_params
Definition: app_config.h:78
+
#define IIO_UART_BAUD_RATE
Definition: app_config.h:164
+
#define uart_ops
Definition: app_config.h:87
+
#define UART_ID
Definition: app_config_mbed.h:57
+
+
+
+ +

◆ uart_iio_com_desc

+ +
+
+ + + + +
struct no_os_uart_desc* uart_iio_com_desc
+
+ +
+
+ +

◆ uart_iio_comm_init_params

+ +
+
+ + + + +
struct no_os_uart_init_param uart_iio_comm_init_params
+
+Initial value:
= {
+
.device_id = UART_ID,
+
.baud_rate = IIO_UART_BAUD_RATE,
+
.size = NO_OS_UART_CS_8,
+
.parity = NO_OS_UART_PAR_NO,
+
.stop = NO_OS_UART_STOP_1_BIT,
+
+
.platform_ops = &vcom_ops,
+ +
+
+
+
+
}
+
#define vcom_extra_init_params
Definition: app_config.h:79
+
#define vcom_ops
Definition: app_config.h:88
+
+
+
+
+ + + + diff --git a/doxygen/ad7091r__iio_2app_2app__config_8c__incl.map b/doxygen/ad7091r__iio_2app_2app__config_8c__incl.map new file mode 100644 index 00000000..133cfb50 --- /dev/null +++ b/doxygen/ad7091r__iio_2app_2app__config_8c__incl.map @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doxygen/ad7091r__iio_2app_2app__config_8c__incl.md5 b/doxygen/ad7091r__iio_2app_2app__config_8c__incl.md5 new file mode 100644 index 00000000..313e3730 --- /dev/null +++ b/doxygen/ad7091r__iio_2app_2app__config_8c__incl.md5 @@ -0,0 +1 @@ +87b9ceef1b1510822e8269e4c4275e52 \ No newline at end of file diff --git a/doxygen/ad7091r__iio_2app_2app__config_8c__incl.png b/doxygen/ad7091r__iio_2app_2app__config_8c__incl.png new file mode 100644 index 00000000..7d099bdc Binary files /dev/null and b/doxygen/ad7091r__iio_2app_2app__config_8c__incl.png differ diff --git a/doxygen/ad7091r__iio_2app_2app__config_8h.html b/doxygen/ad7091r__iio_2app_2app__config_8h.html new file mode 100644 index 00000000..d4800900 --- /dev/null +++ b/doxygen/ad7091r__iio_2app_2app__config_8h.html @@ -0,0 +1,1077 @@ + + + + + + + +precision-converters-firmware: /home/runner/work/precision-converters-firmware/precision-converters-firmware/projects/ad7091r_iio/app/app_config.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
precision-converters-firmware +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
app_config.h File Reference
+
+
+ +

Configuration file for AD7091R device application. +More...

+
#include <stdint.h>
+#include "ad7091r8.h"
+#include "no_os_pwm.h"
+#include "no_os_util.h"
+#include "app_config_stm32.h"
+
+Include dependency graph for app_config.h:
+
+
+ + + + + + + + + + + + + + + + + +
+
+This graph shows which files directly or indirectly include this file:
+
+
+ + + + + + + + + +
+
+

Go to the source code of this file.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Macros

#define STM32_PLATFORM   1
 
#define CONTINUOUS_DATA_CAPTURE   0
 
#define BURST_DATA_CAPTURE   1
 
#define SPI_DMA   0
 
#define SPI_INTERRUPT   1
 
#define XSTR(s)   #s
 
#define STR(s)   XSTR(s)
 
#define DATA_CAPTURE_MODE   BURST_DATA_CAPTURE
 
#define ACTIVE_PLATFORM   STM32_PLATFORM
 
#define USE_VIRTUAL_COM_PORT
 
#define INTERFACE_MODE   SPI_DMA
 
#define ADC_INTERNAL_VREF_MV   2500
 
#define ADC_VDD_V   3.3
 
#define ADC_MIN_VREF   1.0
 
#define ACTIVE_DEVICE_NAME   "ad7091r-8"
 
#define DEVICE_NAME   "DEV_AD7091R_8"
 
#define ACTIVE_DEVICE_ID   AD7091R8
 
#define ADC_RESOLUTION   12
 
#define HW_MEZZANINE_NAME   "EVAL-AD7091R-8ARDZ"
 
#define ADC_MAX_COUNT   (uint32_t)((1 << ADC_RESOLUTION) - 1)
 
#define HW_CARRIER_NAME   TARGET_NAME
 
#define BYTES_PER_SAMPLE   sizeof(uint16_t)
 
#define IIO_UART_BAUD_RATE   (230400)
 
#define FIRMWARE_NAME   "ad7091r_iio"
 
#define VIRTUAL_COM_PORT_VID   0x0456
 
#define VIRTUAL_COM_PORT_PID   0xb66c
 
#define VIRTUAL_COM_SERIAL_NUM   (FIRMWARE_NAME "_" DEVICE_NAME "_" STR(PLATFORM_NAME))
 
#define CONV_TRIGGER_PERIOD_NSEC(x)   (((float)(1.0 / x) * 1000000) * 1000)
 
#define CONV_TRIGGER_DUTY_CYCLE_NSEC(x)   (((float)PWM_DUTY_CYCLE_PERCENT / 100) * CONV_TRIGGER_PERIOD_NSEC(x))
 
+ + + + + + + + + + +

+Functions

void burst_capture_callback (void *context)
 Interrupt Service Routine to monitor end of conversion event. More...
 
int init_system (void)
 Initialize the system peripherals. More...
 
int init_pwm_trigger (void)
 Initialize the PWM trigger contoller. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Variables

struct no_os_pwm_desc * pwm_desc
 
struct no_os_uart_desc * uart_iio_com_desc
 
struct no_os_uart_desc * uart_console_stdio_desc
 
struct no_os_eeprom_desc * eeprom_desc
 
struct no_os_irq_ctrl_desc * trigger_irq_desc
 
struct no_os_pwm_init_param pwm_init_params
 
struct no_os_pwm_desc * tx_trigger_desc
 
struct no_os_pwm_init_param cs_init_params
 
struct no_os_dma_init_param ad7091r_dma_init_param
 
struct no_os_gpio_init_param pwm_gpio_params
 
struct no_os_gpio_init_param cs_pwm_gpio_params
 
volatile struct iio_device_data * global_iio_dev_data
 
uint32_t global_nb_of_samples
 
volatile uint32_t * buff_start_addr
 
int32_t data_read
 
+

Detailed Description

+

Configuration file for AD7091R device application.

+

Copyright (c) 2024 Analog Devices, Inc. All rights reserved.

+

This software is proprietary to Analog Devices, Inc. and its licensors. By using this software you agree to the terms of the associated Analog Devices Software License Agreement.

+

Macro Definition Documentation

+ +

◆ ACTIVE_DEVICE_ID

+ +
+
+ + + + +
#define ACTIVE_DEVICE_ID   AD7091R8
+
+ +
+
+ +

◆ ACTIVE_DEVICE_NAME

+ +
+
+ + + + +
#define ACTIVE_DEVICE_NAME   "ad7091r-8"
+
+ +
+
+ +

◆ ACTIVE_PLATFORM

+ +
+
+ + + + +
#define ACTIVE_PLATFORM   STM32_PLATFORM
+
+ +
+
+ +

◆ ADC_INTERNAL_VREF_MV

+ +
+
+ + + + +
#define ADC_INTERNAL_VREF_MV   2500
+
+ +
+
+ +

◆ ADC_MAX_COUNT

+ +
+
+ + + + +
#define ADC_MAX_COUNT   (uint32_t)((1 << ADC_RESOLUTION) - 1)
+
+ +
+
+ +

◆ ADC_MIN_VREF

+ +
+
+ + + + +
#define ADC_MIN_VREF   1.0
+
+ +
+
+ +

◆ ADC_RESOLUTION

+ +
+
+ + + + +
#define ADC_RESOLUTION   12
+
+ +
+
+ +

◆ ADC_VDD_V

+ +
+
+ + + + +
#define ADC_VDD_V   3.3
+
+ +
+
+ +

◆ BURST_DATA_CAPTURE

+ +
+
+ + + + +
#define BURST_DATA_CAPTURE   1
+
+ +
+
+ +

◆ BYTES_PER_SAMPLE

+ +
+
+ + + + +
#define BYTES_PER_SAMPLE   sizeof(uint16_t)
+
+ +
+
+ +

◆ CONTINUOUS_DATA_CAPTURE

+ +
+
+ + + + +
#define CONTINUOUS_DATA_CAPTURE   0
+
+ +
+
+ +

◆ CONV_TRIGGER_DUTY_CYCLE_NSEC

+ +
+
+ + + + + + + + +
#define CONV_TRIGGER_DUTY_CYCLE_NSEC( x)   (((float)PWM_DUTY_CYCLE_PERCENT / 100) * CONV_TRIGGER_PERIOD_NSEC(x))
+
+ +
+
+ +

◆ CONV_TRIGGER_PERIOD_NSEC

+ +
+
+ + + + + + + + +
#define CONV_TRIGGER_PERIOD_NSEC( x)   (((float)(1.0 / x) * 1000000) * 1000)
+
+ +
+
+ +

◆ DATA_CAPTURE_MODE

+ +
+
+ + + + +
#define DATA_CAPTURE_MODE   BURST_DATA_CAPTURE
+
+ +
+
+ +

◆ DEVICE_NAME

+ +
+
+ + + + +
#define DEVICE_NAME   "DEV_AD7091R_8"
+
+ +
+
+ +

◆ FIRMWARE_NAME

+ +
+
+ + + + +
#define FIRMWARE_NAME   "ad7091r_iio"
+
+ +
+
+ +

◆ HW_CARRIER_NAME

+ +
+
+ + + + +
#define HW_CARRIER_NAME   TARGET_NAME
+
+ +
+
+ +

◆ HW_MEZZANINE_NAME

+ +
+
+ + + + +
#define HW_MEZZANINE_NAME   "EVAL-AD7091R-8ARDZ"
+
+ +
+
+ +

◆ IIO_UART_BAUD_RATE

+ +
+
+ + + + +
#define IIO_UART_BAUD_RATE   (230400)
+
+ +
+
+ +

◆ INTERFACE_MODE

+ +
+
+ + + + +
#define INTERFACE_MODE   SPI_DMA
+
+ +
+
+ +

◆ SPI_DMA

+ +
+
+ + + + +
#define SPI_DMA   0
+
+ +
+
+ +

◆ SPI_INTERRUPT

+ +
+
+ + + + +
#define SPI_INTERRUPT   1
+
+ +
+
+ +

◆ STM32_PLATFORM

+ +
+
+ + + + +
#define STM32_PLATFORM   1
+
+ +
+
+ +

◆ STR

+ +
+
+ + + + + + + + +
#define STR( s)   XSTR(s)
+
+ +
+
+ +

◆ USE_VIRTUAL_COM_PORT

+ +
+
+ + + + +
#define USE_VIRTUAL_COM_PORT
+
+ +
+
+ +

◆ VIRTUAL_COM_PORT_PID

+ +
+
+ + + + +
#define VIRTUAL_COM_PORT_PID   0xb66c
+
+ +
+
+ +

◆ VIRTUAL_COM_PORT_VID

+ +
+
+ + + + +
#define VIRTUAL_COM_PORT_VID   0x0456
+
+ +
+
+ +

◆ VIRTUAL_COM_SERIAL_NUM

+ +
+
+ + + + +
#define VIRTUAL_COM_SERIAL_NUM   (FIRMWARE_NAME "_" DEVICE_NAME "_" STR(PLATFORM_NAME))
+
+ +
+
+ +

◆ XSTR

+ +
+
+ + + + + + + + +
#define XSTR( s)   #s
+
+ +
+
+

Function Documentation

+ +

◆ burst_capture_callback()

+ +
+
+ + + + + + + + +
void burst_capture_callback (void * context)
+
+ +

Interrupt Service Routine to monitor end of conversion event.

+
Parameters
+ + +
context[in]- Callback context (unused)
+
+
+
Returns
none
+

Interrupt Service Routine to monitor end of conversion event.

+
Parameters
+ + +
context[in]- Callback context (unused)
+
+
+
Returns
none
+ +
+
+ +

◆ init_pwm_trigger()

+ +
+
+ + + + + + + + +
int init_pwm_trigger (void )
+
+ +

Initialize the PWM trigger contoller.

+
Returns
0 in case of success, negative error code otherwise
+

Initialize the PWM trigger contoller.

+
Returns
0 in case of success, negative error code otherwise.
+ +
+
+ +

◆ init_system()

+ +
+
+ + + + + + + + +
int init_system (void )
+
+ +

Initialize the system peripherals.

+
Returns
0 in case of success, negative error code otherwise
+

Initialize the system peripherals.

+
Returns
0 in case of success, negative error code otherwise.
+

This function initializes system peripherals for the application

+
Returns
- 0 in case of success, negative error code otherwise
+ +
+
+

Variable Documentation

+ +

◆ ad7091r_dma_init_param

+ +
+
+ + + + + +
+ + + + +
struct no_os_dma_init_param ad7091r_dma_init_param
+
+extern
+
+ +
+
+ +

◆ buff_start_addr

+ +
+
+ + + + + +
+ + + + +
volatile uint32_t* buff_start_addr
+
+extern
+
+ +
+
+ +

◆ cs_init_params

+ +
+
+ + + + + +
+ + + + +
struct no_os_pwm_init_param cs_init_params
+
+extern
+
+ +
+
+ +

◆ cs_pwm_gpio_params

+ +
+
+ + + + + +
+ + + + +
struct no_os_gpio_init_param cs_pwm_gpio_params
+
+extern
+
+ +
+
+ +

◆ data_read

+ +
+
+ + + + + +
+ + + + +
int32_t data_read
+
+extern
+
+ +
+
+ +

◆ eeprom_desc

+ +
+
+ + + + + +
+ + + + +
struct no_os_eeprom_desc* eeprom_desc
+
+extern
+
+ +
+
+ +

◆ global_iio_dev_data

+ +
+
+ + + + + +
+ + + + +
volatile struct iio_device_data* global_iio_dev_data
+
+extern
+
+ +
+
+ +

◆ global_nb_of_samples

+ +
+
+ + + + + +
+ + + + +
uint32_t global_nb_of_samples
+
+extern
+
+ +
+
+ +

◆ pwm_desc

+ +
+
+ + + + + +
+ + + + +
struct no_os_pwm_desc* pwm_desc
+
+extern
+
+ +
+
+ +

◆ pwm_gpio_params

+ +
+
+ + + + + +
+ + + + +
struct no_os_gpio_init_param pwm_gpio_params
+
+extern
+
+ +
+
+ +

◆ pwm_init_params

+ +
+
+ + + + + +
+ + + + +
struct no_os_pwm_init_param pwm_init_params
+
+extern
+
+ +
+
+ +

◆ trigger_irq_desc

+ +
+
+ + + + + +
+ + + + +
struct no_os_irq_ctrl_desc* trigger_irq_desc
+
+extern
+
+ +
+
+ +

◆ tx_trigger_desc

+ +
+
+ + + + + +
+ + + + +
struct no_os_pwm_desc* tx_trigger_desc
+
+extern
+
+ +
+
+ +

◆ uart_console_stdio_desc

+ +
+
+ + + + + +
+ + + + +
struct no_os_uart_desc* uart_console_stdio_desc
+
+extern
+
+ +
+
+ +

◆ uart_iio_com_desc

+ +
+
+ + + + + +
+ + + + +
struct no_os_uart_desc* uart_iio_com_desc
+
+extern
+
+ +
+
+
+ + + + diff --git a/doxygen/ad7091r__iio_2app_2app__config_8h__dep__incl.map b/doxygen/ad7091r__iio_2app_2app__config_8h__dep__incl.map new file mode 100644 index 00000000..fcdd703a --- /dev/null +++ b/doxygen/ad7091r__iio_2app_2app__config_8h__dep__incl.map @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/doxygen/ad7091r__iio_2app_2app__config_8h__dep__incl.md5 b/doxygen/ad7091r__iio_2app_2app__config_8h__dep__incl.md5 new file mode 100644 index 00000000..d92ce8b9 --- /dev/null +++ b/doxygen/ad7091r__iio_2app_2app__config_8h__dep__incl.md5 @@ -0,0 +1 @@ +7b63adae58337f800b30cb84e86ba53a \ No newline at end of file diff --git a/doxygen/ad7091r__iio_2app_2app__config_8h__dep__incl.png b/doxygen/ad7091r__iio_2app_2app__config_8h__dep__incl.png new file mode 100644 index 00000000..5d4b47df Binary files /dev/null and b/doxygen/ad7091r__iio_2app_2app__config_8h__dep__incl.png differ diff --git a/doxygen/ad7091r__iio_2app_2app__config_8h__incl.map b/doxygen/ad7091r__iio_2app_2app__config_8h__incl.map new file mode 100644 index 00000000..eea1b160 --- /dev/null +++ b/doxygen/ad7091r__iio_2app_2app__config_8h__incl.map @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/doxygen/ad7091r__iio_2app_2app__config_8h__incl.md5 b/doxygen/ad7091r__iio_2app_2app__config_8h__incl.md5 new file mode 100644 index 00000000..c56a10aa --- /dev/null +++ b/doxygen/ad7091r__iio_2app_2app__config_8h__incl.md5 @@ -0,0 +1 @@ +c781e06cb597489a646915edc74ee18b \ No newline at end of file diff --git a/doxygen/ad7091r__iio_2app_2app__config_8h__incl.png b/doxygen/ad7091r__iio_2app_2app__config_8h__incl.png new file mode 100644 index 00000000..eed8eada Binary files /dev/null and b/doxygen/ad7091r__iio_2app_2app__config_8h__incl.png differ diff --git a/doxygen/ad7091r__iio_2app_2app__config_8h_source.html b/doxygen/ad7091r__iio_2app_2app__config_8h_source.html new file mode 100644 index 00000000..9ccfb27c --- /dev/null +++ b/doxygen/ad7091r__iio_2app_2app__config_8h_source.html @@ -0,0 +1,249 @@ + + + + + + + +precision-converters-firmware: /home/runner/work/precision-converters-firmware/precision-converters-firmware/projects/ad7091r_iio/app/app_config.h Source File + + + + + + + + + +
+
+ + + + + + +
+
precision-converters-firmware +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
app_config.h
+
+
+Go to the documentation of this file.
1 /*************************************************************************/
+
13 #ifndef APP_CONFIG_H
+
14 #define APP_CONFIG_H
+
15 
+
16 /******************************************************************************/
+
17 /***************************** Include Files **********************************/
+
18 /******************************************************************************/
+
19 
+
20 #include <stdint.h>
+
21 #include "ad7091r8.h"
+
22 #include "no_os_pwm.h"
+
23 #include "no_os_util.h"
+
24 
+
25 /******************************************************************************/
+
26 /********************** Macros and Constants Definition ***********************/
+
27 /******************************************************************************/
+
28 
+
29 /* List of supported platforms */
+
30 #define STM32_PLATFORM 1
+
31 
+
32 /* List of data capture modes for AD7091R device */
+
33 #define CONTINUOUS_DATA_CAPTURE 0
+
34 #define BURST_DATA_CAPTURE 1
+
35 
+
36 /* List of data capture methods supported by hardware platform */
+
37 #define SPI_DMA 0
+
38 #define SPI_INTERRUPT 1
+
39 
+
40 /* Macros for stringification */
+
41 #define XSTR(s) #s
+
42 #define STR(s) XSTR(s)
+
43 
+
44 /* Select the ADC data capture mode (default is CC mode) */
+
45 #if !defined(DATA_CAPTURE_MODE)
+
46 #define DATA_CAPTURE_MODE BURST_DATA_CAPTURE
+
47 #endif
+
48 
+
49 /******************************************************************************/
+
50 
+
51 /* Select the active platform (default is STM32) */
+
52 #if !defined(ACTIVE_PLATFORM)
+
53 #define ACTIVE_PLATFORM STM32_PLATFORM
+
54 #endif
+
55 
+
56 /* Enable the UART port connection */
+
57 /* Enable the UART/VirtualCOM port connection (default VCOM) */
+
58 //#define USE_PHY_COM_PORT // Uncomment to select UART
+
59 
+
60 #if !defined(USE_PHY_COM_PORT)
+
61 #define USE_VIRTUAL_COM_PORT
+
62 #endif
+
63 
+
64 /* Note: The STM32 platform supports SPI interrupt and SPI DMA Mode
+
65  * for data capturing. (Default is SPI DMA mode)
+
66  * */
+
67 //#define INTERFACE_MODE SPI_INTERRUPT // Uncomment to select spi interface mode
+
68 
+
69 #if !defined(INTERFACE_MODE)
+
70 #define INTERFACE_MODE SPI_DMA
+
71 #endif
+
72 
+
73 #include "app_config_stm32.h"
+
74 
+
75 /* ADC Internal VREF in millivolts */
+
76 #define ADC_INTERNAL_VREF_MV 2500
+
77 
+
78 /* ADC VREF in millivolts (Default is internal reference)
+
79  * Note: When using the internal reference, the on-chip reference value is fixed at 2.5V.
+
80  * External reference value can be applied in range of 1.0V to Vdd */
+
81 //#define ADC_VREF_MV 2500
+
82 
+
83 #if !defined(ADC_VREF_MV)
+
84 #define ADC_VREF_MV ADC_INTERNAL_VREF_MV
+
85 #endif
+
86 
+
87 /* ADC VDD Input in Volts */
+
88 #define ADC_VDD_V 3.3
+
89 
+
90 /* ADC Vref minimum value in Volts */
+
91 #define ADC_MIN_VREF 1.0
+
92 
+
93 /* Active device and resolution */
+
94 #define ACTIVE_DEVICE_NAME "ad7091r-8"
+
95 #define DEVICE_NAME "DEV_AD7091R_8"
+
96 #define ACTIVE_DEVICE_ID AD7091R8
+
97 #define ADC_RESOLUTION 12
+
98 
+
99 /* HW ID of the target EVB */
+
100 #define HW_MEZZANINE_NAME "EVAL-AD7091R-8ARDZ"
+
101 
+
102 /* ADC max count (full scale value) */
+
103 #define ADC_MAX_COUNT (uint32_t)((1 << ADC_RESOLUTION) - 1)
+
104 
+
105 #define HW_CARRIER_NAME TARGET_NAME
+
106 
+
107 #define BYTES_PER_SAMPLE sizeof(uint16_t)
+
108 
+
109 /****** Macros used to form a VCOM serial number ******/
+
110 
+
111 /* Baud rate for IIO application UART interface */
+
112 #define IIO_UART_BAUD_RATE (230400)
+
113 
+
114 /* Used to form a VCOM serial number */
+
115 #define FIRMWARE_NAME "ad7091r_iio"
+
116 
+
117 #if !defined(PLATFORM_NAME)
+
118 #define PLATFORM_NAME HW_CARRIER_NAME
+
119 #endif
+
120 
+
121 /* Below USB configurations (VID and PID) are owned and assigned by ADI.
+
122  * If intended to distribute software further, use the VID and PID owned by your
+
123  * organization */
+
124 #define VIRTUAL_COM_PORT_VID 0x0456
+
125 #define VIRTUAL_COM_PORT_PID 0xb66c
+
126 /* Serial number string is formed as: application name + device (target) name + platform (host) name */
+
127 #define VIRTUAL_COM_SERIAL_NUM (FIRMWARE_NAME "_" DEVICE_NAME "_" STR(PLATFORM_NAME))
+
128 
+
129 /* Enable/Disable the use of SDRAM for ADC data capture buffer */
+
130 //#define USE_SDRAM // Uncomment to use SDRAM for data buffer
+
131 
+
132 /* PWM period and duty cycle */
+
133 #define CONV_TRIGGER_PERIOD_NSEC(x) (((float)(1.0 / x) * 1000000) * 1000)
+
134 #define CONV_TRIGGER_DUTY_CYCLE_NSEC(x) (((float)PWM_DUTY_CYCLE_PERCENT / 100) * CONV_TRIGGER_PERIOD_NSEC(x))
+
135 
+
136 /******************************************************************************/
+
137 /************************ Public Declarations *********************************/
+
138 /******************************************************************************/
+
139 
+
140 extern struct no_os_pwm_desc *pwm_desc;
+
141 extern struct no_os_uart_desc *uart_iio_com_desc;
+
142 extern struct no_os_uart_desc *uart_console_stdio_desc;
+
143 extern struct no_os_eeprom_desc *eeprom_desc;
+
144 extern struct no_os_irq_ctrl_desc *trigger_irq_desc;
+
145 extern struct no_os_pwm_init_param pwm_init_params;
+
146 
+
147 #if (INTERFACE_MODE == SPI_DMA)
+
148 extern struct no_os_pwm_desc* tx_trigger_desc;
+
149 extern struct no_os_pwm_init_param cs_init_params;
+
150 extern struct no_os_dma_init_param ad7091r_dma_init_param;
+
151 extern struct no_os_gpio_init_param pwm_gpio_params;
+
152 extern struct no_os_gpio_init_param cs_pwm_gpio_params;
+
153 extern volatile struct iio_device_data* global_iio_dev_data;
+
154 extern uint32_t global_nb_of_samples;
+
155 extern volatile uint32_t* buff_start_addr;
+
156 extern int32_t data_read;
+
157 #endif
+
158 
+
159 extern void burst_capture_callback(void *context);
+
160 int init_system(void);
+
161 int init_pwm_trigger(void);
+
162 
+
163 #endif /* APP_CONFIG_H_ */
+
int32_t init_pwm_trigger(void)
Initialize the PWM trigger contoller.
Definition: app_config.c:161
+
struct no_os_irq_ctrl_desc * trigger_irq_desc
Definition: app_config.c:103
+
int32_t init_system(void)
Initialize the system peripherals.
Definition: app_config.c:185
+
struct no_os_uart_desc * uart_iio_com_desc
Definition: app_config.c:127
+
struct no_os_pwm_init_param pwm_init_params
Definition: app_config.c:108
+
struct no_os_eeprom_desc * eeprom_desc
Definition: app_config.c:194
+
struct no_os_pwm_desc * tx_trigger_desc
Definition: app_config.c:202
+
struct no_os_pwm_desc * pwm_desc
Definition: app_config.c:106
+
struct no_os_gpio_init_param cs_pwm_gpio_params
Definition: app_config.h:234
+
struct no_os_pwm_init_param cs_init_params
Definition: app_config.c:133
+
volatile uint32_t * buff_start_addr
Definition: ad405x_iio.c:174
+
int32_t data_read
Definition: ad405x_iio.c:337
+
struct no_os_gpio_init_param pwm_gpio_params
Definition: app_config.h:235
+
struct no_os_uart_desc * uart_console_stdio_desc
Definition: app_config.c:100
+
void burst_capture_callback(void *context)
Interrupt Service Routine to monitor end of conversion event.
Definition: ad469x_iio.c:1033
+
uint32_t global_nb_of_samples
Definition: ad469x_iio.c:278
+
volatile struct iio_device_data * global_iio_dev_data
Definition: ad469x_iio.c:275
+
struct no_os_dma_init_param ad7091r_dma_init_param
Definition: app_config.c:175
+
Header file for STM32 platform configurations.
+
+ + + + diff --git a/doxygen/ad7091r__iio_2app_2app__config__stm32_8c.html b/doxygen/ad7091r__iio_2app_2app__config__stm32_8c.html new file mode 100644 index 00000000..5e27f829 --- /dev/null +++ b/doxygen/ad7091r__iio_2app_2app__config__stm32_8c.html @@ -0,0 +1,1051 @@ + + + + + + + +precision-converters-firmware: /home/runner/work/precision-converters-firmware/precision-converters-firmware/projects/ad7091r_iio/app/app_config_stm32.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
precision-converters-firmware +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
app_config_stm32.c File Reference
+
+
+ +

Application configurations module for STM32 platform. +More...

+
#include "app_config_stm32.h"
+#include "no_os_error.h"
+#include "no_os_util.h"
+#include "no_os_pwm.h"
+#include "ad7091r_iio.h"
+
+Include dependency graph for app_config_stm32.c:
+
+
+ + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + + + + +

+Macros

#define TIM_CCMR_CCS_OUTPUT   0
 
#define TIM_CR2_MMS_COMPARE_PULSE   3
 
#define TIM_SMCR_SMS_TRIGGER   6
 
#define TIM_ITR_SOURCE   0
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

void stm32_system_init (void)
 Initialize the STM32 system peripherals. More...
 
void tim2_config (void)
 Configure CS timer. More...
 
void tim8_config (void)
 Configure Tx Trigger timer. More...
 
void stm32_timer_enable (void)
 Starts the timer signal generation for PWM and OC channels all at once. More...
 
void stm32_timer_stop (void)
 Stop generating timer signals. More...
 
void stm32_abort_dma_transfer (void)
 Abort DMA Transfers. More...
 
void stm32_cs_output_gpio_config (bool is_gpio)
 Configures the chip select pin as output mode. More...
 
void receivecomplete_callback (DMA_HandleTypeDef *hdma)
 Callback function to flag the capture of number of requested samples. More...
 
void halfcmplt_callback (DMA_HandleTypeDef *hdma)
 Callback function to flag the capture of Half the number of requested samples. More...
 
void update_buff (uint32_t *local_buf, uint32_t *buf_start_addr)
 Update buffer index. More...
 
void ad7091r8_pulse_convst_stm (void)
 Pull the CONVST line down then up. More...
 
int ad7091r8_read_one_stm (uint8_t channel, uint16_t *read_val)
 Read one sample. More...
 
void configure_intr_priority (void)
 Prioritizes the UART1 interrupt over the other peripheral interrupts. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Variables

struct stm32_uart_init_param stm32_uart_init_params
 
struct stm32_usb_uart_init_param stm32_vcom_extra_init_params
 
struct stm32_gpio_irq_init_param stm32_trigger_gpio_irq_init_params
 
struct stm32_spi_init_param stm32_spi_init_params
 
struct stm32_i2c_init_param stm32_i2c_init_params
 
struct stm32_gpio_init_param stm32_gpio_cnv_init_params
 
struct stm32_gpio_init_param stm32_pwm_cnv_gpio_init_params
 
struct stm32_gpio_init_param stm32_gpio_reset_init_params
 
struct stm32_gpio_init_param stm32_gpio_gp0_extra_init_params
 
struct stm32_pwm_init_param stm32_cnv_pwm_init_params
 
struct stm32_pwm_init_param stm32_cs_extra_init_params
 
struct stm32_pwm_init_param stm32_tx_trigger_extra_init_params
 
struct stm32_dma_channel txdma_channel
 
struct stm32_dma_channel rxdma_channel
 
struct stm32_gpio_init_param stm32_cs_pwm_gpio_extra_init_params
 
struct stm32_gpio_init_param stm32_cs_gpio_extra_init_params
 
volatile struct stm32_spi_desc * sdesc
 
uint32_t rxdma_ndtr
 
uint32_t dma_cycle_count = 0
 
uint8_t * iio_buf_start_idx
 
uint8_t * dma_buf_start_idx
 
uint8_t * iio_buf_current_idx
 
uint8_t * dma_buf_current_idx
 
+

Detailed Description

+

Application configurations module for STM32 platform.

+

Copyright (c) 2024 Analog Devices, Inc. All rights reserved.

+

This software is proprietary to Analog Devices, Inc. and its licensors. By using this software you agree to the terms of the associated Analog Devices Software License Agreement.

+

Macro Definition Documentation

+ +

◆ TIM_CCMR_CCS_OUTPUT

+ +
+
+ + + + +
#define TIM_CCMR_CCS_OUTPUT   0
+
+ +
+
+ +

◆ TIM_CR2_MMS_COMPARE_PULSE

+ +
+
+ + + + +
#define TIM_CR2_MMS_COMPARE_PULSE   3
+
+ +
+
+ +

◆ TIM_ITR_SOURCE

+ +
+
+ + + + +
#define TIM_ITR_SOURCE   0
+
+ +
+
+ +

◆ TIM_SMCR_SMS_TRIGGER

+ +
+
+ + + + +
#define TIM_SMCR_SMS_TRIGGER   6
+
+ +
+
+

Function Documentation

+ +

◆ ad7091r8_pulse_convst_stm()

+ +
+
+ + + + + + + + +
void ad7091r8_pulse_convst_stm (void )
+
+ +

Pull the CONVST line down then up.

+
Returns
none.
+
+Here is the caller graph for this function:
+
+
+ + + + +
+ +
+
+ +

◆ ad7091r8_read_one_stm()

+ +
+
+ + + + + + + + + + + + + + + + + + +
int ad7091r8_read_one_stm (uint8_t channel,
uint16_t * read_val 
)
+
+ +

Read one sample.

+
Parameters
+ + + +
channel[in]- Channel.
read_val[out]- Value.
+
+
+
Returns
0 in case of success, negative error code otherwise.
+ +
+
+ +

◆ configure_intr_priority()

+ +
+
+ + + + + + + + +
void configure_intr_priority (void )
+
+ +

Prioritizes the UART1 interrupt over the other peripheral interrupts.

+
Returns
None
+ +
+
+ +

◆ halfcmplt_callback()

+ +
+
+ + + + + + + + +
void halfcmplt_callback (DMA_HandleTypeDef * hdma)
+
+ +

Callback function to flag the capture of Half the number of requested samples.

+

Callback function to flag the capture of half the number of requested samples.

+
Parameters
+ + +
hdma- DMA Handler (Unused)
+
+
+
Returns
None
+ +
+
+ +

◆ receivecomplete_callback()

+ +
+
+ + + + + + + + +
void receivecomplete_callback (DMA_HandleTypeDef * hdma)
+
+ +

Callback function to flag the capture of number of requested samples.

+
Parameters
+ + +
hdma- DMA Handler (Unused)
+
+
+
Returns
None
+ +
+
+ +

◆ stm32_abort_dma_transfer()

+ +
+
+ + + + + + + + +
void stm32_abort_dma_transfer (void )
+
+ +

Abort DMA Transfers.

+

Abort ongoing SPI RX DMA transfer.

+
Returns
None
+ +
+
+ +

◆ stm32_cs_output_gpio_config()

+ +
+
+ + + + + + + + +
void stm32_cs_output_gpio_config (bool is_gpio)
+
+ +

Configures the chip select pin as output mode.

+
Parameters
+ + +
is_gpio[in]Mode of the Pin
+
+
+
Returns
None
+ +
+
+ +

◆ stm32_system_init()

+ +
+
+ + + + + + + + +
void stm32_system_init (void )
+
+ +

Initialize the STM32 system peripherals.

+
Returns
None
+ +
+
+ +

◆ stm32_timer_enable()

+ +
+
+ + + + + + + + +
void stm32_timer_enable (void )
+
+ +

Starts the timer signal generation for PWM and OC channels all at once.

+
Returns
None
+ +
+
+ +

◆ stm32_timer_stop()

+ +
+
+ + + + + + + + +
void stm32_timer_stop (void )
+
+ +

Stop generating timer signals.

+

Stops generating timer signals.

+
Returns
None
+ +
+
+ +

◆ tim2_config()

+ +
+
+ + + + + + + + +
void tim2_config (void )
+
+ +

Configure CS timer.

+
Returns
None
+ +
+
+ +

◆ tim8_config()

+ +
+
+ + + + + + + + +
void tim8_config (void )
+
+ +

Configure Tx Trigger timer.

+
Returns
None
+
Note
Tx timer acts as a slave for External Trigger (ETR1) in one-pulse mode to generate DMA requests
+ +
+
+ +

◆ update_buff()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void update_buff (uint32_t * local_buf,
uint32_t * buf_start_addr 
)
+
+ +

Update buffer index.

+
Parameters
+ + + +
local_buf[out]- Local Buffer
buf_start_addr[out]- Buffer start addr
+
+
+
Returns
None
+ +
+
+

Variable Documentation

+ +

◆ dma_buf_current_idx

+ +
+
+ + + + +
uint8_t* dma_buf_current_idx
+
+ +
+
+ +

◆ dma_buf_start_idx

+ +
+
+ + + + +
uint8_t* dma_buf_start_idx
+
+ +
+
+ +

◆ dma_cycle_count

+ +
+
+ + + + +
uint32_t dma_cycle_count = 0
+
+ +
+
+ +

◆ iio_buf_current_idx

+ +
+
+ + + + +
uint8_t* iio_buf_current_idx
+
+ +
+
+ +

◆ iio_buf_start_idx

+ +
+
+ + + + +
uint8_t* iio_buf_start_idx
+
+ +
+
+ +

◆ rxdma_channel

+ +
+
+ + + + +
struct stm32_dma_channel rxdma_channel
+
+Initial value:
= {
+
.hdma = &hdma_spi1_rx,
+
.ch_num = RxDMA_CHANNEL_NUM,
+
.mem_increment = true,
+
.mem_data_alignment = DATA_ALIGN_BYTE,
+
.per_data_alignment = DATA_ALIGN_BYTE,
+
.dma_mode = DMA_CIRCULAR_MODE,
+
}
+
DMA_HandleTypeDef hdma_spi1_rx
+
#define RxDMA_CHANNEL_NUM
Definition: app_config_stm32.h:95
+
+
+
+ +

◆ rxdma_ndtr

+ +
+
+ + + + +
uint32_t rxdma_ndtr
+
+ +
+
+ +

◆ sdesc

+ +
+
+ + + + +
volatile struct stm32_spi_desc* sdesc
+
+ +
+
+ +

◆ stm32_cnv_pwm_init_params

+ +
+
+ + + + +
struct stm32_pwm_init_param stm32_cnv_pwm_init_params
+
+Initial value:
= {
+
.prescaler = CNV_PWM_PRESCALER,
+
.timer_autoreload = true,
+
.mode = TIM_OC_PWM2,
+
.timer_chn = CNV_PWM_CHANNEL,
+
.get_timer_clock = HAL_RCC_GetPCLK2Freq,
+
.clock_divider = CNV_PWM_CLK_DIVIDER,
+
.complementary_channel = false,
+
.trigger_enable = false,
+
.trigger_output = PWM_TRGO_RESET
+
}
+
#define CNV_PWM_PRESCALER
Definition: app_config_stm32.h:143
+
#define CNV_PWM_CHANNEL
Definition: app_config_stm32.h:76
+
#define CNV_PWM_CLK_DIVIDER
Definition: app_config_stm32.h:77
+
+
+
+ +

◆ stm32_cs_extra_init_params

+ +
+
+ + + + +
struct stm32_pwm_init_param stm32_cs_extra_init_params
+
+Initial value:
= {
+
.prescaler = CS_TIMER_PRESCALER,
+
.timer_autoreload = false,
+
.mode = TIM_OC_PWM2,
+
.timer_chn = CS_TIMER_CHANNEL,
+
.complementary_channel = false,
+
.get_timer_clock = HAL_RCC_GetPCLK1Freq,
+
.clock_divider = TIMER_2_CLK_DIVIDER
+
}
+
#define TIMER_2_CLK_DIVIDER
Definition: app_config_stm32.h:63
+
#define CS_TIMER_PRESCALER
Definition: app_config_stm32.h:83
+
#define CS_TIMER_CHANNEL
Definition: app_config_stm32.h:84
+
+
+
+ +

◆ stm32_cs_gpio_extra_init_params

+ +
+
+ + + + +
struct stm32_gpio_init_param stm32_cs_gpio_extra_init_params
+
+Initial value:
= {
+
.mode = GPIO_MODE_OUTPUT_PP,
+
.speed = GPIO_SPEED_FREQ_VERY_HIGH,
+
}
+
+
+
+ +

◆ stm32_cs_pwm_gpio_extra_init_params

+ +
+
+ + + + +
struct stm32_gpio_init_param stm32_cs_pwm_gpio_extra_init_params
+
+Initial value:
= {
+
.mode = GPIO_MODE_AF_PP,
+
.speed = GPIO_SPEED_FREQ_VERY_HIGH,
+
.alternate = GPIO_AF1_TIM2
+
}
+
+
+
+ +

◆ stm32_gpio_cnv_init_params

+ +
+
+ + + + +
struct stm32_gpio_init_param stm32_gpio_cnv_init_params
+
+Initial value:
= {
+
.mode = GPIO_MODE_OUTPUT_PP,
+
.speed = GPIO_SPEED_FREQ_VERY_HIGH
+
}
+
+
+
+ +

◆ stm32_gpio_gp0_extra_init_params

+ +
+
+ + + + +
struct stm32_gpio_init_param stm32_gpio_gp0_extra_init_params
+
+Initial value:
= {
+
.mode = GPIO_MODE_INPUT,
+
.speed = GPIO_SPEED_FREQ_VERY_HIGH,
+
}
+
+
+
+ +

◆ stm32_gpio_reset_init_params

+ +
+
+ + + + +
struct stm32_gpio_init_param stm32_gpio_reset_init_params
+
+Initial value:
= {
+
.mode = GPIO_MODE_OUTPUT_PP
+
}
+
+
+
+ +

◆ stm32_i2c_init_params

+ +
+
+ + + + +
struct stm32_i2c_init_param stm32_i2c_init_params
+
+Initial value:
= {
+
.i2c_timing = I2C_TIMING
+
}
+
#define I2C_TIMING
Definition: app_config_stm32.h:116
+
+
+
+ +

◆ stm32_pwm_cnv_gpio_init_params

+ +
+
+ + + + +
struct stm32_gpio_init_param stm32_pwm_cnv_gpio_init_params
+
+Initial value:
= {
+
.mode = GPIO_MODE_AF_PP,
+
.speed = GPIO_SPEED_FREQ_VERY_HIGH,
+
.alternate = GPIO_AF1_TIM1
+
}
+
+
+
+ +

◆ stm32_spi_init_params

+ +
+
+ + + + +
struct stm32_spi_init_param stm32_spi_init_params
+
+Initial value:
= {
+
.chip_select_port = STM32_SPI_CS_PORT,
+
.get_input_clock = HAL_RCC_GetPCLK2Freq
+
}
+
#define STM32_SPI_CS_PORT
Definition: app_config_stm32.h:54
+
+
+
+ +

◆ stm32_trigger_gpio_irq_init_params

+ +
+
+ + + + +
struct stm32_gpio_irq_init_param stm32_trigger_gpio_irq_init_params
+
+Initial value:
= {
+ +
}
+
#define GPIO_TRIGGER_INT_PORT
Definition: app_config_stm32.h:47
+
+
+
+ +

◆ stm32_tx_trigger_extra_init_params

+ +
+
+ + + + +
struct stm32_pwm_init_param stm32_tx_trigger_extra_init_params
+
+Initial value:
= {
+
.prescaler = TIMER_8_PRESCALER,
+
.timer_autoreload = true,
+
.mode = TIM_OC_TOGGLE,
+
.timer_chn = TIMER_CHANNEL_1,
+
.complementary_channel = false,
+
.get_timer_clock = HAL_RCC_GetPCLK1Freq,
+
.clock_divider = TIMER_8_CLK_DIVIDER,
+
.trigger_output = PWM_TRGO_ENABLE,
+
.dma_enable = true,
+
.repetitions = 1,
+
.onepulse_enable = true
+
}
+
#define TIMER_8_CLK_DIVIDER
Definition: app_config_stm32.h:71
+
#define TIMER_CHANNEL_1
Definition: app_config_stm32.h:66
+
#define TIMER_8_PRESCALER
Definition: app_config_stm32.h:70
+
+
+
+ +

◆ stm32_uart_init_params

+ +
+
+ + + + +
struct stm32_uart_init_param stm32_uart_init_params
+
+Initial value:
= {
+
.huart = APP_UART_HANDLE
+
}
+
#define APP_UART_HANDLE
Definition: app_config_stm32.h:39
+
+
+
+ +

◆ stm32_vcom_extra_init_params

+ +
+
+ + + + +
struct stm32_usb_uart_init_param stm32_vcom_extra_init_params
+
+Initial value:
= {
+
.husbdevice = APP_UART_USB_HANDLE
+
}
+
#define APP_UART_USB_HANDLE
Definition: app_config_stm32.h:44
+
+
+
+ +

◆ txdma_channel

+ +
+
+ + + + +
struct stm32_dma_channel txdma_channel
+
+Initial value:
= {
+
.hdma = &hdma_tim8_ch1,
+
.ch_num = TxDMA_CHANNEL_NUM,
+
.mem_increment = false,
+
.mem_data_alignment = DATA_ALIGN_BYTE,
+
.per_data_alignment = DATA_ALIGN_BYTE,
+
.dma_mode = DMA_CIRCULAR_MODE
+
}
+
DMA_HandleTypeDef hdma_tim8_ch1
+
#define TxDMA_CHANNEL_NUM
Definition: app_config_stm32.h:94
+
+
+
+
+ + + + diff --git a/doxygen/ad7091r__iio_2app_2app__config__stm32_8c__incl.map b/doxygen/ad7091r__iio_2app_2app__config__stm32_8c__incl.map new file mode 100644 index 00000000..6ab12af3 --- /dev/null +++ b/doxygen/ad7091r__iio_2app_2app__config__stm32_8c__incl.map @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/doxygen/ad7091r__iio_2app_2app__config__stm32_8c__incl.md5 b/doxygen/ad7091r__iio_2app_2app__config__stm32_8c__incl.md5 new file mode 100644 index 00000000..91702056 --- /dev/null +++ b/doxygen/ad7091r__iio_2app_2app__config__stm32_8c__incl.md5 @@ -0,0 +1 @@ +c4284c0bba58a631a72dae028b476a93 \ No newline at end of file diff --git a/doxygen/ad7091r__iio_2app_2app__config__stm32_8c__incl.png b/doxygen/ad7091r__iio_2app_2app__config__stm32_8c__incl.png new file mode 100644 index 00000000..03253ab5 Binary files /dev/null and b/doxygen/ad7091r__iio_2app_2app__config__stm32_8c__incl.png differ diff --git a/doxygen/ad7091r__iio_2app_2app__config__stm32_8c_adaa7a85761743622d0835fdc31756b13_icgraph.map b/doxygen/ad7091r__iio_2app_2app__config__stm32_8c_adaa7a85761743622d0835fdc31756b13_icgraph.map new file mode 100644 index 00000000..52b8bcb4 --- /dev/null +++ b/doxygen/ad7091r__iio_2app_2app__config__stm32_8c_adaa7a85761743622d0835fdc31756b13_icgraph.map @@ -0,0 +1,4 @@ + + + + diff --git a/doxygen/ad7091r__iio_2app_2app__config__stm32_8c_adaa7a85761743622d0835fdc31756b13_icgraph.md5 b/doxygen/ad7091r__iio_2app_2app__config__stm32_8c_adaa7a85761743622d0835fdc31756b13_icgraph.md5 new file mode 100644 index 00000000..d6748a4a --- /dev/null +++ b/doxygen/ad7091r__iio_2app_2app__config__stm32_8c_adaa7a85761743622d0835fdc31756b13_icgraph.md5 @@ -0,0 +1 @@ +4c97200d9e73dd5c46d39c2051b2681b \ No newline at end of file diff --git a/doxygen/ad7091r__iio_2app_2app__config__stm32_8c_adaa7a85761743622d0835fdc31756b13_icgraph.png b/doxygen/ad7091r__iio_2app_2app__config__stm32_8c_adaa7a85761743622d0835fdc31756b13_icgraph.png new file mode 100644 index 00000000..d7f0fba1 Binary files /dev/null and b/doxygen/ad7091r__iio_2app_2app__config__stm32_8c_adaa7a85761743622d0835fdc31756b13_icgraph.png differ diff --git a/doxygen/ad7091r__iio_2app_2app__config__stm32_8h.html b/doxygen/ad7091r__iio_2app_2app__config__stm32_8h.html new file mode 100644 index 00000000..44bd31f5 --- /dev/null +++ b/doxygen/ad7091r__iio_2app_2app__config__stm32_8h.html @@ -0,0 +1,2190 @@ + + + + + + + +precision-converters-firmware: /home/runner/work/precision-converters-firmware/precision-converters-firmware/projects/ad7091r_iio/app/app_config_stm32.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
precision-converters-firmware +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
app_config_stm32.h File Reference
+
+
+ +

Header file for STM32 platform configurations. +More...

+
#include <stdint.h>
+#include "stm32_uart.h"
+#include "stm32_spi.h"
+#include "stm32_gpio.h"
+#include "stm32_irq.h"
+#include "stm32_pwm.h"
+#include "stm32_i2c.h"
+#include "stm32_gpio_irq.h"
+#include "stm32_dma.h"
+#include "stm32_usb_uart.h"
+#include "app_config.h"
+
+Include dependency graph for app_config_stm32.h:
+
+
+ + + + + + + + + + + + + + + + + +
+
+This graph shows which files directly or indirectly include this file:
+
+
+ + + + + + + + + +
+
+

Go to the source code of this file.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Macros

#define TARGET_NAME   SDP_K1
 
#define APP_UART_HANDLE   &huart5
 
#define UART_IRQ_ID   UART5_IRQn
 
#define APP_UART_USB_HANDLE   &hUsbDeviceHS
 
#define RESET_PIN   9
 
#define RESET_PORT   6
 
#define CNV_PIN   10
 
#define CNV_PORT   0
 
#define BSY_PIN   7
 
#define BSY_PORT   6
 
#define GPIO_TRIGGER_INT_PORT   BSY_PORT
 
#define SPI_CSB   15
 
#define STM32_SPI_CS_PORT   0
 
#define SPI_CS_PORT_NUM   0
 
#define SPI_CS_PIN_NUM   15
 
#define UART_ID   5
 
#define I2C_DEVICE_ID   1
 
#define SPI_DEVICE_ID   1
 
#define I2C_TIMING   0
 
#define TRIGGER_INT_ID   BSY_PIN
 
#define trigger_gpio_handle   0
 
#define BSY_GPIO_PRIORITY   1
 
#define CNV_PWM_ID   1
 
#define CNV_PWM_CHANNEL   3
 
#define CNV_PWM_CLK_DIVIDER   2
 
#define PWM_GPIO_PORT   CNV_PORT
 
#define PWM_GPIO_PIN   CNV_PIN
 
#define CS_TIMER_ID   2
 
#define CS_TIMER_PRESCALER   0
 
#define CS_TIMER_CHANNEL   1
 
#define TIMER_2_CLK_DIVIDER   2
 
#define TIMER8_ID   8
 
#define TIMER_8_PRESCALER   0
 
#define TIMER_8_CLK_DIVIDER   2
 
#define TIMER_CHANNEL_1   1
 
#define Rx_DMA_IRQ_ID   DMA2_Stream0_IRQn
 
#define TxDMA_CHANNEL_NUM   DMA_CHANNEL_7
 
#define RxDMA_CHANNEL_NUM   DMA_CHANNEL_3
 
#define AD7091R_DMA_NUM_CHANNELS   2
 
#define spi_extra_init_params   stm32_spi_init_params
 
#define uart_extra_init_params   stm32_uart_init_params
 
#define i2c_extra_init_params   stm32_i2c_init_params
 
#define pwm_extra_init_params   stm32_cnv_pwm_init_params
 
#define cnv_gpio_extra_init_param   stm32_gpio_cnv_init_params
 
#define reset_gpio_extra_init_param   stm32_gpio_reset_init_params
 
#define trigger_gpio_irq_extra_params   stm32_trigger_gpio_irq_init_params
 
#define pwm_gpio_extra_init_params   stm32_pwm_cnv_gpio_init_params
 
#define alt_bsy_gpio_extra_init_params   stm32_gpio_gp0_extra_init_params
 
#define tx_trigger_extra_init_params   stm32_tx_trigger_extra_init_params
 
#define cs_extra_init_params   stm32_cs_extra_init_params
 
#define cs_pwm_gpio_extra_init_params   stm32_cs_pwm_gpio_extra_init_params
 
#define vcom_extra_init_params   stm32_vcom_extra_init_params
 
#define trigger_gpio_irq_ops   stm32_gpio_irq_ops
 
#define gpio_ops   stm32_gpio_ops
 
#define spi_ops   stm32_spi_ops
 
#define pwm_ops   stm32_pwm_ops
 
#define uart_ops   stm32_uart_ops
 
#define i2c_ops   stm32_i2c_ops
 
#define dma_ops   stm32_dma_ops
 
#define vcom_ops   stm32_usb_uart_ops
 
#define MAX_SPI_SCLK   40000000
 
#define MAX_SAMPLING_RATE   830000
 
#define CHIP_SELECT_DUTY_CYCLE_NS   530
 
#define CNV_PWM_PRESCALER   1
 
#define PWM_DUTY_CYCLE_NSEC   250
 
#define TX_TRIGGER_PERIOD   400
 
#define TX_TRIGGER_DUTY_CYCLE_NS   30
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

void receivecomplete_callback (DMA_HandleTypeDef *hdma)
 Callback function to flag the capture of number of requested samples. More...
 
void halfcmplt_callback (DMA_HandleTypeDef *hdma)
 Callback function to flag the capture of half the number of requested samples. More...
 
void update_buff (uint32_t *local_buf, uint32_t *buf_start_addr)
 Update buffer index. More...
 
void stm32_cs_output_gpio_config (bool is_gpio)
 Configures the chip select pin as output mode. More...
 
void tim8_config (void)
 Configure Tx Trigger timer. More...
 
void tim2_config (void)
 Configure CS timer. More...
 
void stm32_timer_stop (void)
 Stops generating timer signals. More...
 
void stm32_timer_enable (void)
 Starts the timer signal generation for PWM and OC channels all at once. More...
 
void stm32_abort_dma_transfer (void)
 Abort ongoing SPI RX DMA transfer. More...
 
void stm32_system_init (void)
 Initialize the STM32 system peripherals. More...
 
void ad7091r8_pulse_convst_stm (void)
 Pull the CONVST line down then up. More...
 
int ad7091r8_read_one_stm (uint8_t channel, uint16_t *read_val)
 Read one sample. More...
 
void configure_intr_priority (void)
 Prioritizes the UART1 interrupt over the other peripheral interrupts. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Variables

struct stm32_uart_init_param stm32_uart_init_params
 
struct stm32_gpio_irq_init_param stm32_trigger_gpio_irq_init_params
 
struct stm32_spi_init_param stm32_spi_init_params
 
struct stm32_i2c_init_param stm32_i2c_init_params
 
struct stm32_gpio_init_param stm32_gpio_cnv_init_params
 
struct stm32_gpio_init_param stm32_gpio_reset_init_params
 
struct stm32_pwm_init_param stm32_cnv_pwm_init_params
 
struct stm32_gpio_init_param stm32_pwm_cnv_gpio_init_params
 
struct stm32_gpio_init_param stm32_gpio_gp0_extra_init_params
 
UART_HandleTypeDef huart5
 
TIM_HandleTypeDef htim1
 
TIM_HandleTypeDef htim2
 
USBD_HandleTypeDef hUsbDeviceHS
 
DMA_HandleTypeDef hdma_tim8_ch1
 
DMA_HandleTypeDef hdma_spi1_rx
 
uint32_t rxdma_ndtr
 
uint32_t dma_cycle_count
 
struct stm32_pwm_init_param stm32_cs_extra_init_params
 
struct stm32_pwm_init_param stm32_tx_trigger_extra_init_params
 
struct stm32_dma_channel rxdma_channel
 
struct stm32_dma_channel txdma_channel
 
struct stm32_gpio_init_param stm32_cs_pwm_gpio_extra_init_params
 
struct stm32_usb_uart_init_param stm32_vcom_extra_init_params
 
+

Detailed Description

+

Header file for STM32 platform configurations.

+

Copyright (c) 2024 Analog Devices, Inc. All rights reserved.

+

This software is proprietary to Analog Devices, Inc. and its licensors. By using this software you agree to the terms of the associated Analog Devices Software License Agreement.

+

Macro Definition Documentation

+ +

◆ AD7091R_DMA_NUM_CHANNELS

+ +
+
+ + + + +
#define AD7091R_DMA_NUM_CHANNELS   2
+
+ +
+
+ +

◆ alt_bsy_gpio_extra_init_params

+ +
+
+ + + + +
#define alt_bsy_gpio_extra_init_params   stm32_gpio_gp0_extra_init_params
+
+ +
+
+ +

◆ APP_UART_HANDLE

+ +
+
+ + + + +
#define APP_UART_HANDLE   &huart5
+
+ +
+
+ +

◆ APP_UART_USB_HANDLE

+ +
+
+ + + + +
#define APP_UART_USB_HANDLE   &hUsbDeviceHS
+
+ +
+
+ +

◆ BSY_GPIO_PRIORITY

+ +
+
+ + + + +
#define BSY_GPIO_PRIORITY   1
+
+ +
+
+ +

◆ BSY_PIN

+ +
+
+ + + + +
#define BSY_PIN   7
+
+ +
+
+ +

◆ BSY_PORT

+ +
+
+ + + + +
#define BSY_PORT   6
+
+ +
+
+ +

◆ CHIP_SELECT_DUTY_CYCLE_NS

+ +
+
+ + + + +
#define CHIP_SELECT_DUTY_CYCLE_NS   530
+
+ +
+
+ +

◆ cnv_gpio_extra_init_param

+ +
+
+ + + + +
#define cnv_gpio_extra_init_param   stm32_gpio_cnv_init_params
+
+ +
+
+ +

◆ CNV_PIN

+ +
+
+ + + + +
#define CNV_PIN   10
+
+ +
+
+ +

◆ CNV_PORT

+ +
+
+ + + + +
#define CNV_PORT   0
+
+ +
+
+ +

◆ CNV_PWM_CHANNEL

+ +
+
+ + + + +
#define CNV_PWM_CHANNEL   3
+
+ +
+
+ +

◆ CNV_PWM_CLK_DIVIDER

+ +
+
+ + + + +
#define CNV_PWM_CLK_DIVIDER   2
+
+ +
+
+ +

◆ CNV_PWM_ID

+ +
+
+ + + + +
#define CNV_PWM_ID   1
+
+ +
+
+ +

◆ CNV_PWM_PRESCALER

+ +
+
+ + + + +
#define CNV_PWM_PRESCALER   1
+
+ +
+
+ +

◆ cs_extra_init_params

+ +
+
+ + + + +
#define cs_extra_init_params   stm32_cs_extra_init_params
+
+ +
+
+ +

◆ cs_pwm_gpio_extra_init_params

+ +
+
+ + + + +
#define cs_pwm_gpio_extra_init_params   stm32_cs_pwm_gpio_extra_init_params
+
+ +
+
+ +

◆ CS_TIMER_CHANNEL

+ +
+
+ + + + +
#define CS_TIMER_CHANNEL   1
+
+ +
+
+ +

◆ CS_TIMER_ID

+ +
+
+ + + + +
#define CS_TIMER_ID   2
+
+ +
+
+ +

◆ CS_TIMER_PRESCALER

+ +
+
+ + + + +
#define CS_TIMER_PRESCALER   0
+
+ +
+
+ +

◆ dma_ops

+ +
+
+ + + + +
#define dma_ops   stm32_dma_ops
+
+ +
+
+ +

◆ gpio_ops

+ +
+
+ + + + +
#define gpio_ops   stm32_gpio_ops
+
+ +
+
+ +

◆ GPIO_TRIGGER_INT_PORT

+ +
+
+ + + + +
#define GPIO_TRIGGER_INT_PORT   BSY_PORT
+
+ +
+
+ +

◆ I2C_DEVICE_ID

+ +
+
+ + + + +
#define I2C_DEVICE_ID   1
+
+ +
+
+ +

◆ i2c_extra_init_params

+ +
+
+ + + + +
#define i2c_extra_init_params   stm32_i2c_init_params
+
+ +
+
+ +

◆ i2c_ops

+ +
+
+ + + + +
#define i2c_ops   stm32_i2c_ops
+
+ +
+
+ +

◆ I2C_TIMING

+ +
+
+ + + + +
#define I2C_TIMING   0
+
+ +
+
+ +

◆ MAX_SAMPLING_RATE

+ +
+
+ + + + +
#define MAX_SAMPLING_RATE   830000
+
+ +
+
+ +

◆ MAX_SPI_SCLK

+ +
+
+ + + + +
#define MAX_SPI_SCLK   40000000
+
+ +
+
+ +

◆ PWM_DUTY_CYCLE_NSEC

+ +
+
+ + + + +
#define PWM_DUTY_CYCLE_NSEC   250
+
+ +
+
+ +

◆ pwm_extra_init_params

+ +
+
+ + + + +
#define pwm_extra_init_params   stm32_cnv_pwm_init_params
+
+ +
+
+ +

◆ pwm_gpio_extra_init_params

+ +
+
+ + + + +
#define pwm_gpio_extra_init_params   stm32_pwm_cnv_gpio_init_params
+
+ +
+
+ +

◆ PWM_GPIO_PIN

+ +
+
+ + + + +
#define PWM_GPIO_PIN   CNV_PIN
+
+ +
+
+ +

◆ PWM_GPIO_PORT

+ +
+
+ + + + +
#define PWM_GPIO_PORT   CNV_PORT
+
+ +
+
+ +

◆ pwm_ops

+ +
+
+ + + + +
#define pwm_ops   stm32_pwm_ops
+
+ +
+
+ +

◆ reset_gpio_extra_init_param

+ +
+
+ + + + +
#define reset_gpio_extra_init_param   stm32_gpio_reset_init_params
+
+ +
+
+ +

◆ RESET_PIN

+ +
+
+ + + + +
#define RESET_PIN   9
+
+ +
+
+ +

◆ RESET_PORT

+ +
+
+ + + + +
#define RESET_PORT   6
+
+ +
+
+ +

◆ Rx_DMA_IRQ_ID

+ +
+
+ + + + +
#define Rx_DMA_IRQ_ID   DMA2_Stream0_IRQn
+
+ +
+
+ +

◆ RxDMA_CHANNEL_NUM

+ +
+
+ + + + +
#define RxDMA_CHANNEL_NUM   DMA_CHANNEL_3
+
+ +
+
+ +

◆ SPI_CS_PIN_NUM

+ +
+
+ + + + +
#define SPI_CS_PIN_NUM   15
+
+ +
+
+ +

◆ SPI_CS_PORT_NUM

+ +
+
+ + + + +
#define SPI_CS_PORT_NUM   0
+
+ +
+
+ +

◆ SPI_CSB

+ +
+
+ + + + +
#define SPI_CSB   15
+
+ +
+
+ +

◆ SPI_DEVICE_ID

+ +
+
+ + + + +
#define SPI_DEVICE_ID   1
+
+ +
+
+ +

◆ spi_extra_init_params

+ +
+
+ + + + +
#define spi_extra_init_params   stm32_spi_init_params
+
+ +
+
+ +

◆ spi_ops

+ +
+
+ + + + +
#define spi_ops   stm32_spi_ops
+
+ +
+
+ +

◆ STM32_SPI_CS_PORT

+ +
+
+ + + + +
#define STM32_SPI_CS_PORT   0
+
+ +
+
+ +

◆ TARGET_NAME

+ +
+
+ + + + +
#define TARGET_NAME   SDP_K1
+
+ +
+
+ +

◆ TIMER8_ID

+ +
+
+ + + + +
#define TIMER8_ID   8
+
+ +
+
+ +

◆ TIMER_2_CLK_DIVIDER

+ +
+
+ + + + +
#define TIMER_2_CLK_DIVIDER   2
+
+ +
+
+ +

◆ TIMER_8_CLK_DIVIDER

+ +
+
+ + + + +
#define TIMER_8_CLK_DIVIDER   2
+
+ +
+
+ +

◆ TIMER_8_PRESCALER

+ +
+
+ + + + +
#define TIMER_8_PRESCALER   0
+
+ +
+
+ +

◆ TIMER_CHANNEL_1

+ +
+
+ + + + +
#define TIMER_CHANNEL_1   1
+
+ +
+
+ +

◆ trigger_gpio_handle

+ +
+
+ + + + +
#define trigger_gpio_handle   0
+
+ +
+
+ +

◆ trigger_gpio_irq_extra_params

+ +
+
+ + + + +
#define trigger_gpio_irq_extra_params   stm32_trigger_gpio_irq_init_params
+
+ +
+
+ +

◆ trigger_gpio_irq_ops

+ +
+
+ + + + +
#define trigger_gpio_irq_ops   stm32_gpio_irq_ops
+
+ +
+
+ +

◆ TRIGGER_INT_ID

+ +
+
+ + + + +
#define TRIGGER_INT_ID   BSY_PIN
+
+ +
+
+ +

◆ TX_TRIGGER_DUTY_CYCLE_NS

+ +
+
+ + + + +
#define TX_TRIGGER_DUTY_CYCLE_NS   30
+
+ +
+
+ +

◆ tx_trigger_extra_init_params

+ +
+
+ + + + +
#define tx_trigger_extra_init_params   stm32_tx_trigger_extra_init_params
+
+ +
+
+ +

◆ TX_TRIGGER_PERIOD

+ +
+
+ + + + +
#define TX_TRIGGER_PERIOD   400
+
+ +
+
+ +

◆ TxDMA_CHANNEL_NUM

+ +
+
+ + + + +
#define TxDMA_CHANNEL_NUM   DMA_CHANNEL_7
+
+ +
+
+ +

◆ uart_extra_init_params

+ +
+
+ + + + +
#define uart_extra_init_params   stm32_uart_init_params
+
+ +
+
+ +

◆ UART_ID

+ +
+
+ + + + +
#define UART_ID   5
+
+ +
+
+ +

◆ UART_IRQ_ID

+ +
+
+ + + + +
#define UART_IRQ_ID   UART5_IRQn
+
+ +
+
+ +

◆ uart_ops

+ +
+
+ + + + +
#define uart_ops   stm32_uart_ops
+
+ +
+
+ +

◆ vcom_extra_init_params

+ +
+
+ + + + +
#define vcom_extra_init_params   stm32_vcom_extra_init_params
+
+ +
+
+ +

◆ vcom_ops

+ +
+
+ + + + +
#define vcom_ops   stm32_usb_uart_ops
+
+ +
+
+

Function Documentation

+ +

◆ ad7091r8_pulse_convst_stm()

+ +
+
+ + + + + + + + +
void ad7091r8_pulse_convst_stm (void )
+
+ +

Pull the CONVST line down then up.

+
Returns
none.
+
+Here is the caller graph for this function:
+
+
+ + + + +
+ +
+
+ +

◆ ad7091r8_read_one_stm()

+ +
+
+ + + + + + + + + + + + + + + + + + +
int ad7091r8_read_one_stm (uint8_t channel,
uint16_t * read_val 
)
+
+ +

Read one sample.

+
Parameters
+ + + +
channel[in]- Channel.
read_val[out]- Value.
+
+
+
Returns
0 in case of success, negative error code otherwise.
+ +
+
+ +

◆ configure_intr_priority()

+ +
+
+ + + + + + + + +
void configure_intr_priority (void )
+
+ +

Prioritizes the UART1 interrupt over the other peripheral interrupts.

+
Returns
None
+ +
+
+ +

◆ halfcmplt_callback()

+ +
+
+ + + + + + + + +
void halfcmplt_callback (DMA_HandleTypeDef * hdma)
+
+ +

Callback function to flag the capture of half the number of requested samples.

+
Parameters
+ + +
hdma- DMA Handler (Unused)
+
+
+
Returns
None
+

Callback function to flag the capture of half the number of requested samples.

+
Parameters
+ + +
hdma- DMA Handler (Unused)
+
+
+
Returns
None
+ +
+
+ +

◆ receivecomplete_callback()

+ +
+
+ + + + + + + + +
void receivecomplete_callback (DMA_HandleTypeDef * hdma)
+
+ +

Callback function to flag the capture of number of requested samples.

+
Parameters
+ + +
hdma- DMA handler (Unused)
+
+
+
Returns
None
+
+None
+
+None
+
Parameters
+ + +
hdma- DMA Handler (Unused)
+
+
+
Returns
None
+
+Here is the caller graph for this function:
+
+
+ + + + +
+ +
+
+ +

◆ stm32_abort_dma_transfer()

+ +
+
+ + + + + + + + +
void stm32_abort_dma_transfer (void )
+
+ +

Abort ongoing SPI RX DMA transfer.

+
Returns
None
+

Abort ongoing SPI RX DMA transfer.

+
Returns
None
+ +
+
+ +

◆ stm32_cs_output_gpio_config()

+ +
+
+ + + + + + + + +
void stm32_cs_output_gpio_config (bool is_gpio)
+
+ +

Configures the chip select pin as output mode.

+
Parameters
+ + +
is_gpio[in]- Mode of the Pin
+
+
+
Returns
None
+
Parameters
+ + +
is_gpio[in]Mode of the Pin
+
+
+
Returns
None
+ +
+
+ +

◆ stm32_system_init()

+ +
+
+ + + + + + + + +
void stm32_system_init (void )
+
+ +

Initialize the STM32 system peripherals.

+
Returns
None
+ +
+
+ +

◆ stm32_timer_enable()

+ +
+
+ + + + + + + + +
void stm32_timer_enable (void )
+
+ +

Starts the timer signal generation for PWM and OC channels all at once.

+
Returns
None
+ +
+
+ +

◆ stm32_timer_stop()

+ +
+
+ + + + + + + + +
void stm32_timer_stop (void )
+
+ +

Stops generating timer signals.

+
Returns
None
+

Stops generating timer signals.

+
Returns
None
+ +
+
+ +

◆ tim2_config()

+ +
+
+ + + + + + + + +
void tim2_config (void )
+
+ +

Configure CS timer.

+
Returns
None
+ +
+
+ +

◆ tim8_config()

+ +
+
+ + + + + + + + +
void tim8_config (void )
+
+ +

Configure Tx Trigger timer.

+
Returns
None
+
+None
+
Note
Tx timer acts as a slave for External Trigger (ETR1) in one-pulse mode to generate DMA requests
+ +
+
+ +

◆ update_buff()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void update_buff (uint32_t * local_buf,
uint32_t * buf_start_addr 
)
+
+ +

Update buffer index.

+
Parameters
+ + + +
local_buf[out]- Local Buffer
buf_start_addr[out]- Buffer start addr
+
+
+
Returns
None
+ +
+
+

Variable Documentation

+ +

◆ dma_cycle_count

+ +
+
+ + + + + +
+ + + + +
uint32_t dma_cycle_count
+
+extern
+
+ +
+
+ +

◆ hdma_spi1_rx

+ +
+
+ + + + + +
+ + + + +
DMA_HandleTypeDef hdma_spi1_rx
+
+extern
+
+ +
+
+ +

◆ hdma_tim8_ch1

+ +
+
+ + + + + +
+ + + + +
DMA_HandleTypeDef hdma_tim8_ch1
+
+extern
+
+ +
+
+ +

◆ htim1

+ +
+
+ + + + + +
+ + + + +
TIM_HandleTypeDef htim1
+
+extern
+
+ +
+
+ +

◆ htim2

+ +
+
+ + + + + +
+ + + + +
TIM_HandleTypeDef htim2
+
+extern
+
+ +
+
+ +

◆ huart5

+ +
+
+ + + + + +
+ + + + +
UART_HandleTypeDef huart5
+
+extern
+
+ +
+
+ +

◆ hUsbDeviceHS

+ +
+
+ + + + + +
+ + + + +
USBD_HandleTypeDef hUsbDeviceHS
+
+extern
+
+ +
+
+ +

◆ rxdma_channel

+ +
+
+ + + + + +
+ + + + +
struct stm32_dma_channel rxdma_channel
+
+extern
+
+ +
+
+ +

◆ rxdma_ndtr

+ +
+
+ + + + + +
+ + + + +
uint32_t rxdma_ndtr
+
+extern
+
+ +
+
+ +

◆ stm32_cnv_pwm_init_params

+ +
+
+ + + + + +
+ + + + +
struct stm32_pwm_init_param stm32_cnv_pwm_init_params
+
+extern
+
+ +
+
+ +

◆ stm32_cs_extra_init_params

+ +
+
+ + + + + +
+ + + + +
struct stm32_pwm_init_param stm32_cs_extra_init_params
+
+extern
+
+ +
+
+ +

◆ stm32_cs_pwm_gpio_extra_init_params

+ +
+
+ + + + + +
+ + + + +
struct stm32_gpio_init_param stm32_cs_pwm_gpio_extra_init_params
+
+extern
+
+ +
+
+ +

◆ stm32_gpio_cnv_init_params

+ +
+
+ + + + + +
+ + + + +
struct stm32_gpio_init_param stm32_gpio_cnv_init_params
+
+extern
+
+ +
+
+ +

◆ stm32_gpio_gp0_extra_init_params

+ +
+
+ + + + + +
+ + + + +
struct stm32_gpio_init_param stm32_gpio_gp0_extra_init_params
+
+extern
+
+ +
+
+ +

◆ stm32_gpio_reset_init_params

+ +
+
+ + + + + +
+ + + + +
struct stm32_gpio_init_param stm32_gpio_reset_init_params
+
+extern
+
+ +
+
+ +

◆ stm32_i2c_init_params

+ +
+
+ + + + + +
+ + + + +
struct stm32_i2c_init_param stm32_i2c_init_params
+
+extern
+
+ +
+
+ +

◆ stm32_pwm_cnv_gpio_init_params

+ +
+
+ + + + + +
+ + + + +
struct stm32_gpio_init_param stm32_pwm_cnv_gpio_init_params
+
+extern
+
+ +
+
+ +

◆ stm32_spi_init_params

+ +
+
+ + + + + +
+ + + + +
struct stm32_spi_init_param stm32_spi_init_params
+
+extern
+
+ +
+
+ +

◆ stm32_trigger_gpio_irq_init_params

+ +
+
+ + + + + +
+ + + + +
struct stm32_gpio_irq_init_param stm32_trigger_gpio_irq_init_params
+
+extern
+
+ +
+
+ +

◆ stm32_tx_trigger_extra_init_params

+ +
+
+ + + + + +
+ + + + +
struct stm32_pwm_init_param stm32_tx_trigger_extra_init_params
+
+extern
+
+ +
+
+ +

◆ stm32_uart_init_params

+ +
+
+ + + + + +
+ + + + +
struct stm32_uart_init_param stm32_uart_init_params
+
+extern
+
+ +
+
+ +

◆ stm32_vcom_extra_init_params

+ +
+
+ + + + + +
+ + + + +
struct stm32_usb_uart_init_param stm32_vcom_extra_init_params
+
+extern
+
+ +
+
+ +

◆ txdma_channel

+ +
+
+ + + + + +
+ + + + +
struct stm32_dma_channel txdma_channel
+
+extern
+
+ +
+
+
+ + + + diff --git a/doxygen/ad7091r__iio_2app_2app__config__stm32_8h__dep__incl.map b/doxygen/ad7091r__iio_2app_2app__config__stm32_8h__dep__incl.map new file mode 100644 index 00000000..cd336486 --- /dev/null +++ b/doxygen/ad7091r__iio_2app_2app__config__stm32_8h__dep__incl.map @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/doxygen/ad7091r__iio_2app_2app__config__stm32_8h__dep__incl.md5 b/doxygen/ad7091r__iio_2app_2app__config__stm32_8h__dep__incl.md5 new file mode 100644 index 00000000..51751b95 --- /dev/null +++ b/doxygen/ad7091r__iio_2app_2app__config__stm32_8h__dep__incl.md5 @@ -0,0 +1 @@ +fbc49ed9487741a1b920a2973a181a06 \ No newline at end of file diff --git a/doxygen/ad7091r__iio_2app_2app__config__stm32_8h__dep__incl.png b/doxygen/ad7091r__iio_2app_2app__config__stm32_8h__dep__incl.png new file mode 100644 index 00000000..787f96e9 Binary files /dev/null and b/doxygen/ad7091r__iio_2app_2app__config__stm32_8h__dep__incl.png differ diff --git a/doxygen/ad7091r__iio_2app_2app__config__stm32_8h__incl.map b/doxygen/ad7091r__iio_2app_2app__config__stm32_8h__incl.map new file mode 100644 index 00000000..8a656fe9 --- /dev/null +++ b/doxygen/ad7091r__iio_2app_2app__config__stm32_8h__incl.map @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/doxygen/ad7091r__iio_2app_2app__config__stm32_8h__incl.md5 b/doxygen/ad7091r__iio_2app_2app__config__stm32_8h__incl.md5 new file mode 100644 index 00000000..fb23751c --- /dev/null +++ b/doxygen/ad7091r__iio_2app_2app__config__stm32_8h__incl.md5 @@ -0,0 +1 @@ +f860a1608be87056ec6e56f79a5d493b \ No newline at end of file diff --git a/doxygen/ad7091r__iio_2app_2app__config__stm32_8h__incl.png b/doxygen/ad7091r__iio_2app_2app__config__stm32_8h__incl.png new file mode 100644 index 00000000..c2092110 Binary files /dev/null and b/doxygen/ad7091r__iio_2app_2app__config__stm32_8h__incl.png differ diff --git a/doxygen/ad469x__iio_2app_2app__config__stm32_8h_aa599b1bdd18c25d273dded2a87a19a2f_icgraph.map b/doxygen/ad7091r__iio_2app_2app__config__stm32_8h_aa599b1bdd18c25d273dded2a87a19a2f_icgraph.map similarity index 100% rename from doxygen/ad469x__iio_2app_2app__config__stm32_8h_aa599b1bdd18c25d273dded2a87a19a2f_icgraph.map rename to doxygen/ad7091r__iio_2app_2app__config__stm32_8h_aa599b1bdd18c25d273dded2a87a19a2f_icgraph.map diff --git a/doxygen/ad469x__iio_2app_2app__config__stm32_8h_aa599b1bdd18c25d273dded2a87a19a2f_icgraph.md5 b/doxygen/ad7091r__iio_2app_2app__config__stm32_8h_aa599b1bdd18c25d273dded2a87a19a2f_icgraph.md5 similarity index 100% rename from doxygen/ad469x__iio_2app_2app__config__stm32_8h_aa599b1bdd18c25d273dded2a87a19a2f_icgraph.md5 rename to doxygen/ad7091r__iio_2app_2app__config__stm32_8h_aa599b1bdd18c25d273dded2a87a19a2f_icgraph.md5 diff --git a/doxygen/ad469x__iio_2app_2app__config__stm32_8h_aa599b1bdd18c25d273dded2a87a19a2f_icgraph.png b/doxygen/ad7091r__iio_2app_2app__config__stm32_8h_aa599b1bdd18c25d273dded2a87a19a2f_icgraph.png similarity index 100% rename from doxygen/ad469x__iio_2app_2app__config__stm32_8h_aa599b1bdd18c25d273dded2a87a19a2f_icgraph.png rename to doxygen/ad7091r__iio_2app_2app__config__stm32_8h_aa599b1bdd18c25d273dded2a87a19a2f_icgraph.png diff --git a/doxygen/ad7091r__iio_2app_2app__config__stm32_8h_adaa7a85761743622d0835fdc31756b13_icgraph.map b/doxygen/ad7091r__iio_2app_2app__config__stm32_8h_adaa7a85761743622d0835fdc31756b13_icgraph.map new file mode 100644 index 00000000..52b8bcb4 --- /dev/null +++ b/doxygen/ad7091r__iio_2app_2app__config__stm32_8h_adaa7a85761743622d0835fdc31756b13_icgraph.map @@ -0,0 +1,4 @@ + + + + diff --git a/doxygen/ad7091r__iio_2app_2app__config__stm32_8h_adaa7a85761743622d0835fdc31756b13_icgraph.md5 b/doxygen/ad7091r__iio_2app_2app__config__stm32_8h_adaa7a85761743622d0835fdc31756b13_icgraph.md5 new file mode 100644 index 00000000..d6748a4a --- /dev/null +++ b/doxygen/ad7091r__iio_2app_2app__config__stm32_8h_adaa7a85761743622d0835fdc31756b13_icgraph.md5 @@ -0,0 +1 @@ +4c97200d9e73dd5c46d39c2051b2681b \ No newline at end of file diff --git a/doxygen/ad7091r__iio_2app_2app__config__stm32_8h_adaa7a85761743622d0835fdc31756b13_icgraph.png b/doxygen/ad7091r__iio_2app_2app__config__stm32_8h_adaa7a85761743622d0835fdc31756b13_icgraph.png new file mode 100644 index 00000000..d7f0fba1 Binary files /dev/null and b/doxygen/ad7091r__iio_2app_2app__config__stm32_8h_adaa7a85761743622d0835fdc31756b13_icgraph.png differ diff --git a/doxygen/ad7091r__iio_2app_2app__config__stm32_8h_source.html b/doxygen/ad7091r__iio_2app_2app__config__stm32_8h_source.html new file mode 100644 index 00000000..81d82e44 --- /dev/null +++ b/doxygen/ad7091r__iio_2app_2app__config__stm32_8h_source.html @@ -0,0 +1,303 @@ + + + + + + + +precision-converters-firmware: /home/runner/work/precision-converters-firmware/precision-converters-firmware/projects/ad7091r_iio/app/app_config_stm32.h Source File + + + + + + + + + +
+
+ + + + + + +
+
precision-converters-firmware +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
app_config_stm32.h
+
+
+Go to the documentation of this file.
1 /***************************************************************************/
+
13 #ifndef APP_CONFIG_STM32_H_
+
14 #define APP_CONFIG_STM32_H_
+
15 
+
16 /******************************************************************************/
+
17 /***************************** Include Files **********************************/
+
18 /******************************************************************************/
+
19 
+
20 #include <stdint.h>
+
21 #include "stm32_uart.h"
+
22 #include "stm32_spi.h"
+
23 #include "stm32_gpio.h"
+
24 #include "stm32_irq.h"
+
25 #include "stm32_pwm.h"
+
26 #include "stm32_i2c.h"
+
27 #include "stm32_gpio_irq.h"
+
28 #include "stm32_dma.h"
+
29 #include "stm32_usb_uart.h"
+
30 #include "app_config.h"
+
31 
+
32 /******************************************************************************/
+
33 /********************** Macros and Constants Definition ***********************/
+
34 /******************************************************************************/
+
35 
+
36 /* Note: The SDP-K1 board with the STM32F469NI MCU has been used
+
37  * for developing the firmware. The below parameters will change depending
+
38  * on the controller used. */
+
39 #define TARGET_NAME SDP_K1
+
40 
+
41 /* STM32 UART specific parameters */
+
42 #define APP_UART_HANDLE &huart5
+
43 #define UART_IRQ_ID UART5_IRQn
+
44 #define APP_UART_USB_HANDLE &hUsbDeviceHS
+
45 
+
46 /* GPIO Pins associated with ADC */
+
47 #define RESET_PIN 9 // PG9
+
48 #define RESET_PORT 6 // PORT G
+
49 #define CNV_PIN 10 // PA10
+
50 #define CNV_PORT 0 // PORT A
+
51 #define BSY_PIN 7 // PG7
+
52 #define BSY_PORT 6 // PORT G
+
53 #define GPIO_TRIGGER_INT_PORT BSY_PORT
+
54 
+
55 /* STM32 SPI Specific parameters */
+
56 #define SPI_CSB 15 // PA15
+
57 #define STM32_SPI_CS_PORT 0 // PORTA
+
58 
+
59 #define SPI_CS_PORT_NUM 0 // PORTA
+
60 #define SPI_CS_PIN_NUM 15 // PA_15
+
61 
+
62 /* Peripheral IDs */
+
63 #define UART_ID 5 // UART5
+
64 #define I2C_DEVICE_ID 1 // I2C1
+
65 #define SPI_DEVICE_ID 1 // SPI1
+
66 
+
67 #define I2C_TIMING 0 // (Unused)
+
68 
+
69 /* Interrupt Callback parameters */
+
70 #define TRIGGER_INT_ID BSY_PIN
+
71 #define trigger_gpio_handle 0
+
72 #define BSY_GPIO_PRIORITY 1
+
73 
+
74 /* STM32 CNV PWM Specific parameters */
+
75 #define CNV_PWM_ID 1 // Timer 1
+
76 #define CNV_PWM_CHANNEL 3 // Channel 3
+
77 #define CNV_PWM_CLK_DIVIDER 2 // multiplier to get timer clock from PLCK1
+
78 #define PWM_GPIO_PORT CNV_PORT
+
79 #define PWM_GPIO_PIN CNV_PIN
+
80 
+
81 /* STM32 CS PWM Specific parameters */
+
82 #define CS_TIMER_ID 2
+
83 #define CS_TIMER_PRESCALER 0
+
84 #define CS_TIMER_CHANNEL 1
+
85 #define TIMER_2_CLK_DIVIDER 2
+
86 
+
87 /* Tx trigger Timer specifc parameters */
+
88 #define TIMER8_ID 8
+
89 #define TIMER_8_PRESCALER 0
+
90 #define TIMER_8_CLK_DIVIDER 2
+
91 #define TIMER_CHANNEL_1 1
+
92 
+
93 #define Rx_DMA_IRQ_ID DMA2_Stream0_IRQn
+
94 #define TxDMA_CHANNEL_NUM DMA_CHANNEL_7
+
95 #define RxDMA_CHANNEL_NUM DMA_CHANNEL_3
+
96 
+
97 #define AD7091R_DMA_NUM_CHANNELS 2
+
98 
+
99 /* Redefine the init params structure mapping wrt platform */
+
100 #define spi_extra_init_params stm32_spi_init_params
+
101 #define uart_extra_init_params stm32_uart_init_params
+
102 #define i2c_extra_init_params stm32_i2c_init_params
+
103 #define pwm_extra_init_params stm32_cnv_pwm_init_params
+
104 #define cnv_gpio_extra_init_param stm32_gpio_cnv_init_params
+
105 #define reset_gpio_extra_init_param stm32_gpio_reset_init_params
+
106 #define trigger_gpio_irq_extra_params stm32_trigger_gpio_irq_init_params
+
107 #define pwm_gpio_extra_init_params stm32_pwm_cnv_gpio_init_params
+
108 #define alt_bsy_gpio_extra_init_params stm32_gpio_gp0_extra_init_params
+
109 #define tx_trigger_extra_init_params stm32_tx_trigger_extra_init_params
+
110 #define cs_extra_init_params stm32_cs_extra_init_params
+
111 #define cs_pwm_gpio_extra_init_params stm32_cs_pwm_gpio_extra_init_params
+
112 #define vcom_extra_init_params stm32_vcom_extra_init_params
+
113 
+
114 /* Platform Ops */
+
115 #define trigger_gpio_irq_ops stm32_gpio_irq_ops
+
116 #define gpio_ops stm32_gpio_ops
+
117 #define spi_ops stm32_spi_ops
+
118 #define pwm_ops stm32_pwm_ops
+
119 #define uart_ops stm32_uart_ops
+
120 #define i2c_ops stm32_i2c_ops
+
121 #define dma_ops stm32_dma_ops
+
122 #define vcom_ops stm32_usb_uart_ops
+
123 
+
124 /* Maximum SPI clock rate in Hz */
+
125 #define MAX_SPI_SCLK 40000000
+
126 
+
127 /* Define the max possible sampling (or update) rate per channel for a given platform.
+
128  * Note: This is derived by testing the firmware on SDP-K1 controller
+
129  * board with STM32F469NI MCU.
+
130  * The max possible sampling rate can vary from board to board */
+
131 #if (INTERFACE_MODE == SPI_INTERRUPT)
+
132 #if (DATA_CAPTURE_MODE == CONTINUOUS_DATA_CAPTURE)
+
133 #define MAX_SAMPLING_RATE 40000
+
134 #else //Burst mode
+
135 #define MAX_SAMPLING_RATE 50000
+
136 #endif
+
137 #define PWM_DUTY_CYCLE_PERCENT 90
+
138 #define CNV_PWM_PRESCALER 3
+
139 #define PWM_DUTY_CYCLE_NSEC 360
+
140 #else //SPI_DMA
+
141 #define MAX_SAMPLING_RATE 830000
+
142 #define CHIP_SELECT_DUTY_CYCLE_NS 530
+
143 #define CNV_PWM_PRESCALER 1
+
144 #define PWM_DUTY_CYCLE_NSEC 250
+
145 #endif
+
146 
+
147 /* PWM configuration for 45MHz SPI clock */
+
148 #define TX_TRIGGER_PERIOD 400
+
149 #define TX_TRIGGER_DUTY_CYCLE_NS 30
+
150 
+
151 /******************************************************************************/
+
152 /********************** Variables and User Defined Data Types *****************/
+
153 /******************************************************************************/
+
154 extern struct stm32_uart_init_param stm32_uart_init_params;
+
155 extern struct stm32_gpio_irq_init_param stm32_trigger_gpio_irq_init_params;
+
156 extern struct stm32_spi_init_param stm32_spi_init_params;
+
157 extern struct stm32_i2c_init_param stm32_i2c_init_params;
+
158 extern struct stm32_gpio_init_param stm32_gpio_cnv_init_params;
+
159 extern struct stm32_gpio_init_param stm32_gpio_reset_init_params;
+
160 extern struct stm32_pwm_init_param stm32_cnv_pwm_init_params;
+
161 extern struct stm32_gpio_init_param stm32_pwm_cnv_gpio_init_params;
+
162 extern struct stm32_gpio_init_param stm32_gpio_gp0_extra_init_params;
+
163 extern UART_HandleTypeDef huart5;
+
164 extern TIM_HandleTypeDef htim1;
+
165 extern TIM_HandleTypeDef htim2;
+
166 extern USBD_HandleTypeDef hUsbDeviceHS;
+
167 
+
168 #if (INTERFACE_MODE == SPI_DMA)
+
169 extern DMA_HandleTypeDef hdma_tim8_ch1;
+
170 extern DMA_HandleTypeDef hdma_spi1_rx;
+
171 extern uint32_t rxdma_ndtr;
+
172 extern uint32_t dma_cycle_count;
+
173 
+
174 extern struct stm32_pwm_init_param stm32_cs_extra_init_params;
+
175 extern struct stm32_pwm_init_param stm32_tx_trigger_extra_init_params;
+
176 extern struct stm32_dma_channel rxdma_channel;
+
177 extern struct stm32_dma_channel txdma_channel;
+
178 extern struct stm32_gpio_init_param stm32_cs_pwm_gpio_extra_init_params;
+
179 extern struct stm32_usb_uart_init_param stm32_vcom_extra_init_params;
+
180 
+
181 void receivecomplete_callback(DMA_HandleTypeDef* hdma);
+
182 void halfcmplt_callback(DMA_HandleTypeDef* hdma);
+
183 void update_buff(uint32_t* local_buf, uint32_t* buf_start_addr);
+
184 void stm32_cs_output_gpio_config(bool is_gpio);
+
185 void tim8_config(void);
+
186 void tim2_config(void);
+
187 void stm32_timer_stop(void);
+
188 void stm32_timer_enable(void);
+
189 void stm32_abort_dma_transfer(void);
+
190 #endif
+
191 
+
192 void stm32_system_init(void);
+
193 void ad7091r8_pulse_convst_stm(void);
+
194 int ad7091r8_read_one_stm(uint8_t channel,
+
195  uint16_t* read_val);
+
196 void configure_intr_priority(void);
+
197 
+
198 #endif // APP_CONFIG_STM32_H_
+
UART_HandleTypeDef huart5
+
struct stm32_spi_init_param stm32_spi_init_params
Definition: app_config_stm32.c:40
+
struct stm32_gpio_init_param stm32_gpio_reset_init_params
Definition: app_config_stm32.c:67
+
struct stm32_gpio_irq_init_param stm32_trigger_gpio_irq_init_params
Definition: app_config_stm32.c:35
+
struct stm32_uart_init_param stm32_uart_init_params
Definition: app_config_stm32.c:30
+
struct stm32_dma_channel txdma_channel
Definition: app_config_stm32.c:29
+
TIM_HandleTypeDef htim1
+
TIM_HandleTypeDef htim2
+
DMA_HandleTypeDef hdma_tim8_ch1
+
struct stm32_dma_channel rxdma_channel
Definition: app_config_stm32.c:39
+
uint32_t rxdma_ndtr
Definition: app_config_stm32.c:159
+
void stm32_cs_output_gpio_config(bool is_gpio)
Configures the chip select pin as output mode.
Definition: app_config_stm32.c:344
+
void stm32_system_init(void)
Initialize the STM32 system peripherals.
Definition: app_config_stm32.c:111
+
void halfcmplt_callback(DMA_HandleTypeDef *hdma)
Callback function to flag the capture of half the number of requested samples.
Definition: app_config_stm32.c:233
+
void tim8_config(void)
Configure Tx Trigger timer.
Definition: app_config_stm32.c:412
+
struct stm32_pwm_init_param stm32_cs_extra_init_params
Definition: app_config_stm32.c:125
+
void stm32_timer_enable(void)
Starts the timer signal generation for PWM and OC channels all at once.
Definition: app_config_stm32.c:267
+
void receivecomplete_callback(DMA_HandleTypeDef *hdma)
Callback function to flag the capture of number of requested samples.
Definition: app_config_stm32.c:306
+
int dma_cycle_count
Definition: app_config_stm32.c:156
+
struct stm32_pwm_init_param stm32_tx_trigger_extra_init_params
Definition: app_config_stm32.c:135
+
int stm32_abort_dma_transfer(void)
Abort ongoing SPI RX DMA transfer.
Definition: app_config_stm32.c:380
+
DMA_HandleTypeDef hdma_spi1_rx
+
void stm32_timer_stop(void)
Stops generating timer signals.
Definition: app_config_stm32.c:285
+
void update_buff(uint32_t *local_buf, uint32_t *buf_start_addr)
Update buffer index.
Definition: app_config_stm32.c:253
+
struct stm32_gpio_init_param stm32_cs_pwm_gpio_extra_init_params
Definition: app_config_stm32.c:89
+
struct stm32_gpio_init_param stm32_gpio_gp0_extra_init_params
Definition: app_config_stm32.c:66
+
uint8_t local_buf[MAX_LOCAL_BUF_SIZE]
Definition: ad405x_iio.c:177
+
void tim2_config(void)
Configure CS timer.
Definition: app_config_stm32.c:224
+
struct stm32_gpio_init_param stm32_gpio_cnv_init_params
Definition: app_config_stm32.c:70
+
USBD_HandleTypeDef hUsbDeviceHS
+
void configure_intr_priority(void)
Prioritizes the UART1 interrupt over the other peripheral interrupts.
Definition: app_config_stm32.c:475
+
struct stm32_pwm_init_param stm32_cnv_pwm_init_params
Definition: app_config_stm32.c:94
+
struct stm32_usb_uart_init_param stm32_vcom_extra_init_params
Definition: app_config_stm32.c:49
+
void ad7091r8_pulse_convst_stm(void)
Pull the CONVST line down then up.
Definition: app_config_stm32.c:422
+
int ad7091r8_read_one_stm(uint8_t channel, uint16_t *read_val)
Read one sample.
Definition: app_config_stm32.c:434
+
struct stm32_i2c_init_param stm32_i2c_init_params
Definition: app_config_stm32.c:65
+
struct stm32_gpio_init_param stm32_pwm_cnv_gpio_init_params
Definition: app_config_stm32.c:76
+
Configuration file of nanodac firmware example program.
+
+ + + + diff --git a/doxygen/ad7091r__iio_2app_2main_8c.html b/doxygen/ad7091r__iio_2app_2main_8c.html new file mode 100644 index 00000000..124606a8 --- /dev/null +++ b/doxygen/ad7091r__iio_2app_2main_8c.html @@ -0,0 +1,132 @@ + + + + + + + +precision-converters-firmware: /home/runner/work/precision-converters-firmware/precision-converters-firmware/projects/ad7091r_iio/app/main.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
precision-converters-firmware +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
main.c File Reference
+
+
+ +

Main module for AD7091R IIO application. +More...

+
#include <stdio.h>
+#include <stdint.h>
+#include "ad7091r_iio.h"
+
+Include dependency graph for main.c:
+
+
+ + + + + + + + +
+
+ + + + +

+Functions

int main (void)
 Main entry point to application. More...
 
+

Detailed Description

+

Main module for AD7091R IIO application.

+

Copyright (c) 2024 Analog Devices, Inc. All rights reserved.

+

This software is proprietary to Analog Devices, Inc. and its licensors. By using this software you agree to the terms of the associated Analog Devices Software License Agreement.

+

Function Documentation

+ +

◆ main()

+ +
+
+ + + + + + + + +
int main (void )
+
+ +

Main entry point to application.

+
Returns
none
+ +
+
+
+ + + + diff --git a/doxygen/ad7091r__iio_2app_2main_8c__incl.map b/doxygen/ad7091r__iio_2app_2main_8c__incl.map new file mode 100644 index 00000000..7c3eedd6 --- /dev/null +++ b/doxygen/ad7091r__iio_2app_2main_8c__incl.map @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/doxygen/ad7091r__iio_2app_2main_8c__incl.md5 b/doxygen/ad7091r__iio_2app_2main_8c__incl.md5 new file mode 100644 index 00000000..99440e7b --- /dev/null +++ b/doxygen/ad7091r__iio_2app_2main_8c__incl.md5 @@ -0,0 +1 @@ +c9a630f85742463909f28bdad9b99cb5 \ No newline at end of file diff --git a/doxygen/ad7091r__iio_2app_2main_8c__incl.png b/doxygen/ad7091r__iio_2app_2main_8c__incl.png new file mode 100644 index 00000000..5ae5575c Binary files /dev/null and b/doxygen/ad7091r__iio_2app_2main_8c__incl.png differ diff --git a/doxygen/ad7091r__iio_2app_2stm32__gpio__irq__generated_8c.html b/doxygen/ad7091r__iio_2app_2stm32__gpio__irq__generated_8c.html new file mode 100644 index 00000000..f2b3a017 --- /dev/null +++ b/doxygen/ad7091r__iio_2app_2stm32__gpio__irq__generated_8c.html @@ -0,0 +1,145 @@ + + + + + + + +precision-converters-firmware: /home/runner/work/precision-converters-firmware/precision-converters-firmware/projects/ad7091r_iio/app/stm32_gpio_irq_generated.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
precision-converters-firmware +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
stm32_gpio_irq_generated.c File Reference
+
+
+ +

GPIO IRQ specific functions for STM32 platform. +More...

+
#include "no_os_error.h"
+#include "stm32_hal.h"
+
+Include dependency graph for stm32_gpio_irq_generated.c:
+
+
+ + + + + +
+
+ + + + +

+Functions

int stm32_get_exti_irq_id_from_pin (uint8_t pin_nb, IRQn_Type *irq_id)
 Get the IRQ ID. More...
 
+

Detailed Description

+

GPIO IRQ specific functions for STM32 platform.

+

Copyright (c) 2024 Analog Devices, Inc. All rights reserved.

+

This software is proprietary to Analog Devices, Inc. and its licensors. By using this software you agree to the terms of the associated Analog Devices Software License Agreement.

+

Function Documentation

+ +

◆ stm32_get_exti_irq_id_from_pin()

+ +
+
+ + + + + + + + + + + + + + + + + + +
int stm32_get_exti_irq_id_from_pin (uint8_t pin_nb,
IRQn_Type * irq_id 
)
+
+ +

Get the IRQ ID.

+
Parameters
+ + + +
pin_nb[in]- Pin number
irq_id[out]- Interrupt ID
+
+
+
Returns
0 if successful, negative error code otherwise.
+ +
+
+
+ + + + diff --git a/doxygen/ad7091r__iio_2app_2stm32__gpio__irq__generated_8c__incl.map b/doxygen/ad7091r__iio_2app_2stm32__gpio__irq__generated_8c__incl.map new file mode 100644 index 00000000..24e0f460 --- /dev/null +++ b/doxygen/ad7091r__iio_2app_2stm32__gpio__irq__generated_8c__incl.map @@ -0,0 +1,5 @@ + + + + + diff --git a/doxygen/ad7091r__iio_2app_2stm32__gpio__irq__generated_8c__incl.md5 b/doxygen/ad7091r__iio_2app_2stm32__gpio__irq__generated_8c__incl.md5 new file mode 100644 index 00000000..a840acbf --- /dev/null +++ b/doxygen/ad7091r__iio_2app_2stm32__gpio__irq__generated_8c__incl.md5 @@ -0,0 +1 @@ +c206ca40653d45ad051bb3b1a5ff9efb \ No newline at end of file diff --git a/doxygen/ad7091r__iio_2app_2stm32__gpio__irq__generated_8c__incl.png b/doxygen/ad7091r__iio_2app_2stm32__gpio__irq__generated_8c__incl.png new file mode 100644 index 00000000..7532266d Binary files /dev/null and b/doxygen/ad7091r__iio_2app_2stm32__gpio__irq__generated_8c__incl.png differ diff --git a/doxygen/ad7091r__iio_8c.html b/doxygen/ad7091r__iio_8c.html new file mode 100644 index 00000000..43276337 --- /dev/null +++ b/doxygen/ad7091r__iio_8c.html @@ -0,0 +1,829 @@ + + + + + + + +precision-converters-firmware: /home/runner/work/precision-converters-firmware/precision-converters-firmware/projects/ad7091r_iio/app/ad7091r_iio.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
precision-converters-firmware +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
ad7091r_iio.c File Reference
+
+
+ +

Implementation of AD7091R IIO application interfaces. +More...

+
#include <stdio.h>
+#include <string.h>
+#include "app_config.h"
+#include "ad7091r_iio.h"
+#include "ad7091r_user_config.h"
+#include "ad7091r_support.h"
+#include "common.h"
+#include "iio_trigger.h"
+#include "no_os_util.h"
+#include "no_os_pwm.h"
+#include "no_os_irq.h"
+
+Include dependency graph for ad7091r_iio.c:
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Macros

#define AD7091R_CHN_ATTR(_name, _priv)
 
#define AD7091R_CHN_AVAIL_ATTR(_name, _priv)
 
#define AD7091R_CH(_name, _dev, _idx, _type)
 
#define AD7091R_DEFAULT_CHN_SCAN
 
#define NUM_OF_IIO_DEVICES   1
 
#define AD7091R_IIO_TRIGGER_NAME   "ad7091r_iio_trigger"
 
#define BYTES_PER_SAMPLE   sizeof(uint16_t)
 
#define CHN_STORAGE_BITS   (BYTES_PER_SAMPLE * 8)
 
#define REGISTER_MAX_VAL   AD7091R8_REG_CH_HYSTERESIS(7)
 
#define DATA_BUFFER_SIZE   (32768)
 
#define BUF_READ_TIMEOUT   0xffffffff
 
#define MAX_LOCAL_BUF_SIZE   8000
 
#define MAX_DMA_NDTR   (no_os_min(65535, MAX_LOCAL_BUF_SIZE))
 
+ + + +

+Enumerations

enum  ad7091r_iio_attr_id {
+  ADC_RAW +,
+  ADC_SCALE +,
+  ADC_OFFSET +,
+  ADC_LOW_LIMIT_REG +,
+  ADC_HIGH_LIMIT_REG +,
+  ADC_HYSTERESIS_REG +,
+  ADC_THRESHOLD_ALERT +,
+  NUM_OF_CHN_ATTR +,
+  REFERENCE_SELECT +,
+  REFERENCE_IN_VOLTS +,
+  DEVICE_MODE +,
+  SAMPLING_FREQUENCY +,
+  ALERT_BUSY_GPO0_EN +,
+  ALERT_POL_OR_GPO0_VAL +,
+  NUM_OF_DEV_ATTR = ALERT_POL_OR_GPO0_VAL - NUM_OF_CHN_ATTR +
+ }
 
+ + + + + + + + + + + + + + + + +

+Functions

int32_t ad7091r_set_sampling_rate (uint32_t *sampling_rate)
 Set the sampling rate and get the updated value supported by MCU platform. More...
 
void burst_capture_callback (void *context)
 Interrupt Service Routine to monitor end of conversion event. More...
 
int32_t ad7091r_trigger_handler (struct iio_device_data *iio_dev_data)
 Push data into IIO buffer when trigger handler IRQ is invoked. More...
 
int ad7091r_iio_init ()
 Initialize the IIO interface for AD7091R IIO device. More...
 
void ad7091r_iio_event_handler (void)
 Run the AD7091R IIO event handler. More...
 
+ + + + + + + + + + + + + + + + + + + + + +

+Variables

struct ad7091r8_dev * ad7091r_dev_desc
 
struct scan_type ad7091r_iio_scan_type = AD7091R_DEFAULT_CHN_SCAN
 
volatile bool ad7091r_conversion_flag = false
 
volatile struct iio_device_data * global_iio_dev_data
 
uint32_t global_nb_of_samples
 
int32_t data_read
 
volatile uint32_t * buff_start_addr
 
volatile bool dma_config_updated = false
 
struct stm32_spi_init_param * spi_init_param
 
uint8_t local_buf [MAX_LOCAL_BUF_SIZE]
 
+

Detailed Description

+

Implementation of AD7091R IIO application interfaces.

+

Copyright (c) 2024 Analog Devices, Inc. All rights reserved.

+

This software is proprietary to Analog Devices, Inc. and its licensors. By using this software you agree to the terms of the associated Analog Devices Software License Agreement.

+

Macro Definition Documentation

+ +

◆ AD7091R_CH

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#define AD7091R_CH( _name,
 _dev,
 _idx,
 _type 
)
+
+Value:
{\
+
.name = _name, \
+
.ch_type = _type,\
+
.ch_out = false,\
+
.indexed = true,\
+
.channel = _idx,\
+
.scan_index = _idx,\
+
.scan_type = &ad7091r_iio_scan_type,\
+
.attributes = ad7091r_iio_ch_attributes[_dev]\
+
}
+
struct scan_type ad7091r_iio_scan_type
Definition: ad7091r_iio.c:192
+
+
+
+ +

◆ AD7091R_CHN_ATTR

+ +
+
+ + + + + + + + + + + + + + + + + + +
#define AD7091R_CHN_ATTR( _name,
 _priv 
)
+
+Value:
{\
+
.name = _name,\
+
.priv = _priv,\
+
.show = ad7091r_iio_attr_get,\
+
.store = ad7091r_iio_attr_set\
+
}
+
+
+
+ +

◆ AD7091R_CHN_AVAIL_ATTR

+ +
+
+ + + + + + + + + + + + + + + + + + +
#define AD7091R_CHN_AVAIL_ATTR( _name,
 _priv 
)
+
+Value:
{\
+
.name = _name,\
+
.priv = _priv,\
+
.show = ad7091r_iio_attr_available_get,\
+
.store = ad7091r_iio_attr_available_set\
+
}
+
+
+
+ +

◆ AD7091R_DEFAULT_CHN_SCAN

+ +
+
+ + + + +
#define AD7091R_DEFAULT_CHN_SCAN
+
+Value:
{\
+
.sign = 'u',\
+
.realbits = ADC_RESOLUTION,\
+
.storagebits = CHN_STORAGE_BITS,\
+
.shift = 0,\
+
.is_big_endian = true\
+
}
+
#define ADC_RESOLUTION
Definition: app_config.h:162
+
#define CHN_STORAGE_BITS
Definition: ad7091r_iio.c:101
+
+
+
+ +

◆ AD7091R_IIO_TRIGGER_NAME

+ +
+
+ + + + +
#define AD7091R_IIO_TRIGGER_NAME   "ad7091r_iio_trigger"
+
+ +
+
+ +

◆ BUF_READ_TIMEOUT

+ +
+
+ + + + +
#define BUF_READ_TIMEOUT   0xffffffff
+
+ +
+
+ +

◆ BYTES_PER_SAMPLE

+ +
+
+ + + + +
#define BYTES_PER_SAMPLE   sizeof(uint16_t)
+
+ +
+
+ +

◆ CHN_STORAGE_BITS

+ +
+
+ + + + +
#define CHN_STORAGE_BITS   (BYTES_PER_SAMPLE * 8)
+
+ +
+
+ +

◆ DATA_BUFFER_SIZE

+ +
+
+ + + + +
#define DATA_BUFFER_SIZE   (32768)
+
+ +
+
+ +

◆ MAX_DMA_NDTR

+ +
+
+ + + + +
#define MAX_DMA_NDTR   (no_os_min(65535, MAX_LOCAL_BUF_SIZE))
+
+ +
+
+ +

◆ MAX_LOCAL_BUF_SIZE

+ +
+
+ + + + +
#define MAX_LOCAL_BUF_SIZE   8000
+
+ +
+
+ +

◆ NUM_OF_IIO_DEVICES

+ +
+
+ + + + +
#define NUM_OF_IIO_DEVICES   1
+
+ +
+
+ +

◆ REGISTER_MAX_VAL

+ +
+
+ + + + +
#define REGISTER_MAX_VAL   AD7091R8_REG_CH_HYSTERESIS(7)
+
+ +
+
+

Enumeration Type Documentation

+ +

◆ ad7091r_iio_attr_id

+ +
+
+ + + + +
enum ad7091r_iio_attr_id
+
+ + + + + + + + + + + + + + + + +
Enumerator
ADC_RAW 
ADC_SCALE 
ADC_OFFSET 
ADC_LOW_LIMIT_REG 
ADC_HIGH_LIMIT_REG 
ADC_HYSTERESIS_REG 
ADC_THRESHOLD_ALERT 
NUM_OF_CHN_ATTR 
REFERENCE_SELECT 
REFERENCE_IN_VOLTS 
DEVICE_MODE 
SAMPLING_FREQUENCY 
ALERT_BUSY_GPO0_EN 
ALERT_POL_OR_GPO0_VAL 
NUM_OF_DEV_ATTR 
+ +
+
+

Function Documentation

+ +

◆ ad7091r_iio_event_handler()

+ +
+
+ + + + + + + + +
void ad7091r_iio_event_handler (void )
+
+ +

Run the AD7091R IIO event handler.

+
Returns
none.
+

This function monitors the new IIO client event.

+
+Here is the caller graph for this function:
+
+
+ + + + +
+ +
+
+ +

◆ ad7091r_iio_init()

+ +
+
+ + + + + + + + +
int ad7091r_iio_init (void )
+
+ +

Initialize the IIO interface for AD7091R IIO device.

+
Returns
0 in case of success, negative error code otherwise.
+
+Here is the caller graph for this function:
+
+
+ + + + +
+ +
+
+ +

◆ ad7091r_set_sampling_rate()

+ +
+
+ + + + + + + + +
int32_t ad7091r_set_sampling_rate (uint32_t * sampling_rate)
+
+ +

Set the sampling rate and get the updated value supported by MCU platform.

+
Parameters
+ + +
samplig_rate[in,out]- Sampling rate value
+
+
+
Returns
0 in case of success, negative error code otherwise
+ +
+
+ +

◆ ad7091r_trigger_handler()

+ +
+
+ + + + + + + + +
int32_t ad7091r_trigger_handler (struct iio_device_data * iio_dev_data)
+
+ +

Push data into IIO buffer when trigger handler IRQ is invoked.

+
Parameters
+ + +
iio_dev_data[in]- IIO device data instance
+
+
+
Returns
0 in case of success, negative error code otherwise
+ +
+
+ +

◆ burst_capture_callback()

+ +
+
+ + + + + + + + +
void burst_capture_callback (void * context)
+
+ +

Interrupt Service Routine to monitor end of conversion event.

+
Parameters
+ + +
context[in]- Callback context (unused)
+
+
+
Returns
none
+ +
+
+

Variable Documentation

+ +

◆ ad7091r_conversion_flag

+ +
+
+ + + + +
volatile bool ad7091r_conversion_flag = false
+
+ +
+
+ +

◆ ad7091r_dev_desc

+ +
+
+ + + + +
struct ad7091r8_dev* ad7091r_dev_desc
+
+ +
+
+ +

◆ ad7091r_iio_scan_type

+ +
+
+ + + + +
struct scan_type ad7091r_iio_scan_type = AD7091R_DEFAULT_CHN_SCAN
+
+ +
+
+ +

◆ buff_start_addr

+ +
+
+ + + + +
volatile uint32_t* buff_start_addr
+
+ +
+
+ +

◆ data_read

+ +
+
+ + + + +
int32_t data_read
+
+ +
+
+ +

◆ dma_config_updated

+ +
+
+ + + + +
volatile bool dma_config_updated = false
+
+ +
+
+ +

◆ global_iio_dev_data

+ +
+
+ + + + +
volatile struct iio_device_data* global_iio_dev_data
+
+ +
+
+ +

◆ global_nb_of_samples

+ +
+
+ + + + +
uint32_t global_nb_of_samples
+
+ +
+
+ +

◆ local_buf

+ +
+
+ + + + +
uint8_t local_buf[MAX_LOCAL_BUF_SIZE]
+
+ +
+
+ +

◆ spi_init_param

+ +
+
+ + + + +
struct stm32_spi_init_param* spi_init_param
+
+ +
+
+
+ + + + diff --git a/doxygen/ad7091r__iio_8c__incl.map b/doxygen/ad7091r__iio_8c__incl.map new file mode 100644 index 00000000..8c096137 --- /dev/null +++ b/doxygen/ad7091r__iio_8c__incl.map @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doxygen/ad7091r__iio_8c__incl.md5 b/doxygen/ad7091r__iio_8c__incl.md5 new file mode 100644 index 00000000..465575ea --- /dev/null +++ b/doxygen/ad7091r__iio_8c__incl.md5 @@ -0,0 +1 @@ +02096f3ae6d0fff1220a1b80bd120cee \ No newline at end of file diff --git a/doxygen/ad7091r__iio_8c__incl.png b/doxygen/ad7091r__iio_8c__incl.png new file mode 100644 index 00000000..fa437725 Binary files /dev/null and b/doxygen/ad7091r__iio_8c__incl.png differ diff --git a/doxygen/ad7091r__iio_8c_a526d44841f367222c787b008f38e76a9_icgraph.map b/doxygen/ad7091r__iio_8c_a526d44841f367222c787b008f38e76a9_icgraph.map new file mode 100644 index 00000000..6b6a3f34 --- /dev/null +++ b/doxygen/ad7091r__iio_8c_a526d44841f367222c787b008f38e76a9_icgraph.map @@ -0,0 +1,4 @@ + + + + diff --git a/doxygen/ad7091r__iio_8c_a526d44841f367222c787b008f38e76a9_icgraph.md5 b/doxygen/ad7091r__iio_8c_a526d44841f367222c787b008f38e76a9_icgraph.md5 new file mode 100644 index 00000000..4f7bfbb5 --- /dev/null +++ b/doxygen/ad7091r__iio_8c_a526d44841f367222c787b008f38e76a9_icgraph.md5 @@ -0,0 +1 @@ +5fcc771383be098d9978faffc4077139 \ No newline at end of file diff --git a/doxygen/ad7091r__iio_8c_a526d44841f367222c787b008f38e76a9_icgraph.png b/doxygen/ad7091r__iio_8c_a526d44841f367222c787b008f38e76a9_icgraph.png new file mode 100644 index 00000000..79a849e7 Binary files /dev/null and b/doxygen/ad7091r__iio_8c_a526d44841f367222c787b008f38e76a9_icgraph.png differ diff --git a/doxygen/ad7091r__iio_8c_ab4793cc6212812c39d70899616374ec8_icgraph.map b/doxygen/ad7091r__iio_8c_ab4793cc6212812c39d70899616374ec8_icgraph.map new file mode 100644 index 00000000..869b2480 --- /dev/null +++ b/doxygen/ad7091r__iio_8c_ab4793cc6212812c39d70899616374ec8_icgraph.map @@ -0,0 +1,4 @@ + + + + diff --git a/doxygen/ad7091r__iio_8c_ab4793cc6212812c39d70899616374ec8_icgraph.md5 b/doxygen/ad7091r__iio_8c_ab4793cc6212812c39d70899616374ec8_icgraph.md5 new file mode 100644 index 00000000..acea65c0 --- /dev/null +++ b/doxygen/ad7091r__iio_8c_ab4793cc6212812c39d70899616374ec8_icgraph.md5 @@ -0,0 +1 @@ +94a1a80905a1e029a7b6d73bbc33c9d7 \ No newline at end of file diff --git a/doxygen/ad7091r__iio_8c_ab4793cc6212812c39d70899616374ec8_icgraph.png b/doxygen/ad7091r__iio_8c_ab4793cc6212812c39d70899616374ec8_icgraph.png new file mode 100644 index 00000000..9f5b6d55 Binary files /dev/null and b/doxygen/ad7091r__iio_8c_ab4793cc6212812c39d70899616374ec8_icgraph.png differ diff --git a/doxygen/ad7091r__iio_8h.html b/doxygen/ad7091r__iio_8h.html new file mode 100644 index 00000000..78070deb --- /dev/null +++ b/doxygen/ad7091r__iio_8h.html @@ -0,0 +1,239 @@ + + + + + + + +precision-converters-firmware: /home/runner/work/precision-converters-firmware/precision-converters-firmware/projects/ad7091r_iio/app/ad7091r_iio.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
precision-converters-firmware +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
ad7091r_iio.h File Reference
+
+
+ +

Header file for AD7091R IIO interface. +More...

+
#include <stdint.h>
+#include <stdbool.h>
+#include "iio.h"
+
+Include dependency graph for ad7091r_iio.h:
+
+
+ + + + + + +
+
+This graph shows which files directly or indirectly include this file:
+
+
+ + + + + + +
+
+

Go to the source code of this file.

+ + + + + + + + +

+Functions

int ad7091r_iio_init (void)
 Initialize the IIO interface for AD7091R IIO device. More...
 
void ad7091r_iio_event_handler (void)
 Run the AD7091R IIO event handler. More...
 
+ + + + + +

+Variables

struct ad7091r8_dev * ad7091r_dev_desc
 
volatile bool ad7091r_conversion_flag
 
+

Detailed Description

+

Header file for AD7091R IIO interface.

+

Copyright (c) 2024 Analog Devices, Inc.

+

This software is proprietary to Analog Devices, Inc. and its licensors. By using this software you agree to the terms of the associated Analog Devices Software License Agreement.

+

Function Documentation

+ +

◆ ad7091r_iio_event_handler()

+ +
+
+ + + + + + + + +
void ad7091r_iio_event_handler (void )
+
+ +

Run the AD7091R IIO event handler.

+
Returns
none.
+

This function monitors the new IIO client event.

+
+Here is the caller graph for this function:
+
+
+ + + + +
+ +
+
+ +

◆ ad7091r_iio_init()

+ +
+
+ + + + + + + + +
int ad7091r_iio_init (void )
+
+ +

Initialize the IIO interface for AD7091R IIO device.

+
Returns
0 in case of success, negative error code otherwise.
+
+Here is the caller graph for this function:
+
+
+ + + + +
+ +
+
+

Variable Documentation

+ +

◆ ad7091r_conversion_flag

+ +
+
+ + + + + +
+ + + + +
volatile bool ad7091r_conversion_flag
+
+extern
+
+ +
+
+ +

◆ ad7091r_dev_desc

+ +
+
+ + + + + +
+ + + + +
struct ad7091r8_dev* ad7091r_dev_desc
+
+extern
+
+ +
+
+
+ + + + diff --git a/doxygen/ad7091r__iio_8h__dep__incl.map b/doxygen/ad7091r__iio_8h__dep__incl.map new file mode 100644 index 00000000..d967232a --- /dev/null +++ b/doxygen/ad7091r__iio_8h__dep__incl.map @@ -0,0 +1,6 @@ + + + + + + diff --git a/doxygen/ad7091r__iio_8h__dep__incl.md5 b/doxygen/ad7091r__iio_8h__dep__incl.md5 new file mode 100644 index 00000000..6800fd72 --- /dev/null +++ b/doxygen/ad7091r__iio_8h__dep__incl.md5 @@ -0,0 +1 @@ +c138eb0c79617537c245eea4e84bd8d4 \ No newline at end of file diff --git a/doxygen/ad7091r__iio_8h__dep__incl.png b/doxygen/ad7091r__iio_8h__dep__incl.png new file mode 100644 index 00000000..b86b98ec Binary files /dev/null and b/doxygen/ad7091r__iio_8h__dep__incl.png differ diff --git a/doxygen/ad7091r__iio_8h__incl.map b/doxygen/ad7091r__iio_8h__incl.map new file mode 100644 index 00000000..fc6b7dd9 --- /dev/null +++ b/doxygen/ad7091r__iio_8h__incl.map @@ -0,0 +1,6 @@ + + + + + + diff --git a/doxygen/ad7091r__iio_8h__incl.md5 b/doxygen/ad7091r__iio_8h__incl.md5 new file mode 100644 index 00000000..bc42747a --- /dev/null +++ b/doxygen/ad7091r__iio_8h__incl.md5 @@ -0,0 +1 @@ +fda69777a1b438fc17064fa6d0a1869a \ No newline at end of file diff --git a/doxygen/ad7091r__iio_8h__incl.png b/doxygen/ad7091r__iio_8h__incl.png new file mode 100644 index 00000000..73cda875 Binary files /dev/null and b/doxygen/ad7091r__iio_8h__incl.png differ diff --git a/doxygen/ad7091r__iio_8h_a31527fe8b70862b15341abfb4e5129d0_icgraph.map b/doxygen/ad7091r__iio_8h_a31527fe8b70862b15341abfb4e5129d0_icgraph.map new file mode 100644 index 00000000..6b6a3f34 --- /dev/null +++ b/doxygen/ad7091r__iio_8h_a31527fe8b70862b15341abfb4e5129d0_icgraph.map @@ -0,0 +1,4 @@ + + + + diff --git a/doxygen/ad7091r__iio_8h_a31527fe8b70862b15341abfb4e5129d0_icgraph.md5 b/doxygen/ad7091r__iio_8h_a31527fe8b70862b15341abfb4e5129d0_icgraph.md5 new file mode 100644 index 00000000..4f7bfbb5 --- /dev/null +++ b/doxygen/ad7091r__iio_8h_a31527fe8b70862b15341abfb4e5129d0_icgraph.md5 @@ -0,0 +1 @@ +5fcc771383be098d9978faffc4077139 \ No newline at end of file diff --git a/doxygen/ad7091r__iio_8h_a31527fe8b70862b15341abfb4e5129d0_icgraph.png b/doxygen/ad7091r__iio_8h_a31527fe8b70862b15341abfb4e5129d0_icgraph.png new file mode 100644 index 00000000..79a849e7 Binary files /dev/null and b/doxygen/ad7091r__iio_8h_a31527fe8b70862b15341abfb4e5129d0_icgraph.png differ diff --git a/doxygen/ad7091r__iio_8h_ab4793cc6212812c39d70899616374ec8_icgraph.map b/doxygen/ad7091r__iio_8h_ab4793cc6212812c39d70899616374ec8_icgraph.map new file mode 100644 index 00000000..869b2480 --- /dev/null +++ b/doxygen/ad7091r__iio_8h_ab4793cc6212812c39d70899616374ec8_icgraph.map @@ -0,0 +1,4 @@ + + + + diff --git a/doxygen/ad7091r__iio_8h_ab4793cc6212812c39d70899616374ec8_icgraph.md5 b/doxygen/ad7091r__iio_8h_ab4793cc6212812c39d70899616374ec8_icgraph.md5 new file mode 100644 index 00000000..acea65c0 --- /dev/null +++ b/doxygen/ad7091r__iio_8h_ab4793cc6212812c39d70899616374ec8_icgraph.md5 @@ -0,0 +1 @@ +94a1a80905a1e029a7b6d73bbc33c9d7 \ No newline at end of file diff --git a/doxygen/ad7091r__iio_8h_ab4793cc6212812c39d70899616374ec8_icgraph.png b/doxygen/ad7091r__iio_8h_ab4793cc6212812c39d70899616374ec8_icgraph.png new file mode 100644 index 00000000..9f5b6d55 Binary files /dev/null and b/doxygen/ad7091r__iio_8h_ab4793cc6212812c39d70899616374ec8_icgraph.png differ diff --git a/doxygen/ad7091r__iio_8h_source.html b/doxygen/ad7091r__iio_8h_source.html new file mode 100644 index 00000000..5a696e53 --- /dev/null +++ b/doxygen/ad7091r__iio_8h_source.html @@ -0,0 +1,113 @@ + + + + + + + +precision-converters-firmware: /home/runner/work/precision-converters-firmware/precision-converters-firmware/projects/ad7091r_iio/app/ad7091r_iio.h Source File + + + + + + + + + +
+
+ + + + + + +
+
precision-converters-firmware +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
ad7091r_iio.h
+
+
+Go to the documentation of this file.
1 /*************************************************************************/
+
12 #ifndef AD7091R_IIO_H
+
13 #define AD7091R_IIO_H
+
14 
+
15 /******************************************************************************/
+
16 /***************************** Include Files **********************************/
+
17 /******************************************************************************/
+
18 
+
19 #include <stdint.h>
+
20 #include <stdbool.h>
+
21 #include "iio.h"
+
22 
+
23 /******************************************************************************/
+
24 /********************** Macros and Constants Definition ***********************/
+
25 /******************************************************************************/
+
26 
+
27 /******************************************************************************/
+
28 /********************** Variables and User Defined Data Types *****************/
+
29 /******************************************************************************/
+
30 
+
31 /* AD7091R global device instance for accessing device specific APIs */
+
32 extern struct ad7091r8_dev *ad7091r_dev_desc;
+
33 extern volatile bool ad7091r_conversion_flag;
+
34 
+
35 /* Init the IIO interface */
+
36 int ad7091r_iio_init(void);
+
37 
+
38 /* Run the IIO event handler */
+
39 void ad7091r_iio_event_handler(void);
+
40 
+
41 #endif /* AD7091R_IIO_H */
+
int ad7091r_iio_init(void)
Initialize the IIO interface for AD7091R IIO device.
Definition: ad7091r_iio.c:1287
+
struct ad7091r8_dev * ad7091r_dev_desc
Definition: ad7091r_iio.c:135
+
void ad7091r_iio_event_handler(void)
Run the AD7091R IIO event handler.
Definition: ad7091r_iio.c:1380
+
volatile bool ad7091r_conversion_flag
Definition: ad7091r_iio.c:304
+
+ + + + diff --git a/doxygen/ad7091r__support_8c.html b/doxygen/ad7091r__support_8c.html new file mode 100644 index 00000000..71c85998 --- /dev/null +++ b/doxygen/ad7091r__support_8c.html @@ -0,0 +1,163 @@ + + + + + + + +precision-converters-firmware: /home/runner/work/precision-converters-firmware/precision-converters-firmware/projects/ad7091r_iio/app/ad7091r_support.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
precision-converters-firmware +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
ad7091r_support.c File Reference
+
+
+ +

AD7091R No-OS driver support functionality. +More...

+
#include "ad7091r_support.h"
+#include "ad7091r_user_config.h"
+#include "app_config.h"
+#include "no_os_error.h"
+
+Include dependency graph for ad7091r_support.c:
+
+
+ + + + + + + + + + + + + + + + + + + + + +
+
+ + + + +

+Functions

int ad7091r_reconfig_conv (struct ad7091r8_dev *device, enum ad7091r_conv_pin_state pin_state)
 Reconfigure Conversion pin from GPIO output to PWM and vice versa. More...
 
+

Detailed Description

+

AD7091R No-OS driver support functionality.

+

Copyright (c) 2024 Analog Devices, Inc. All rights reserved.

+

This software is proprietary to Analog Devices, Inc. and its licensors. By using this software you agree to the terms of the associated Analog Devices Software License Agreement.

+

Function Documentation

+ +

◆ ad7091r_reconfig_conv()

+ +
+
+ + + + + + + + + + + + + + + + + + +
int ad7091r_reconfig_conv (struct ad7091r8_dev * device,
enum ad7091r_conv_pin_state pin_state 
)
+
+ +

Reconfigure Conversion pin from GPIO output to PWM and vice versa.

+
Parameters
+ + + +
device[in]- AD7091r device instance
pin_state[in]- Current state of conversion pin
+
+
+
Returns
0 in case of success, negative error code otherwise
+ +
+
+
+ + + + diff --git a/doxygen/ad7091r__support_8c__incl.map b/doxygen/ad7091r__support_8c__incl.map new file mode 100644 index 00000000..6ef06e3e --- /dev/null +++ b/doxygen/ad7091r__support_8c__incl.map @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/doxygen/ad7091r__support_8c__incl.md5 b/doxygen/ad7091r__support_8c__incl.md5 new file mode 100644 index 00000000..868f29a6 --- /dev/null +++ b/doxygen/ad7091r__support_8c__incl.md5 @@ -0,0 +1 @@ +b3e1230ebfa5a7805b6d7948d32c764e \ No newline at end of file diff --git a/doxygen/ad7091r__support_8c__incl.png b/doxygen/ad7091r__support_8c__incl.png new file mode 100644 index 00000000..8600cb8c Binary files /dev/null and b/doxygen/ad7091r__support_8c__incl.png differ diff --git a/doxygen/ad7091r__support_8h.html b/doxygen/ad7091r__support_8h.html new file mode 100644 index 00000000..aac943c1 --- /dev/null +++ b/doxygen/ad7091r__support_8h.html @@ -0,0 +1,186 @@ + + + + + + + +precision-converters-firmware: /home/runner/work/precision-converters-firmware/precision-converters-firmware/projects/ad7091r_iio/app/ad7091r_support.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
precision-converters-firmware +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
ad7091r_support.h File Reference
+
+
+ +

AD7091R No-OS driver support functionality headers. +More...

+
#include "ad7091r8.h"
+
+Include dependency graph for ad7091r_support.h:
+
+
+ + + + +
+
+This graph shows which files directly or indirectly include this file:
+
+
+ + + + + + +
+
+

Go to the source code of this file.

+ + + + +

+Enumerations

enum  ad7091r_conv_pin_state {
+  CNV_GPIO_OUTPUT +,
+  CNV_PWM +
+ }
 
+ + + + +

+Functions

int ad7091r_reconfig_conv (struct ad7091r8_dev *device, enum ad7091r_conv_pin_state pin_state)
 Reconfigure Conversion pin from GPIO output to PWM and vice versa. More...
 
+

Detailed Description

+

AD7091R No-OS driver support functionality headers.

+

Copyright (c) 2024 Analog Devices, Inc. All rights reserved.

+

This software is proprietary to Analog Devices, Inc. and its licensors. By using this software you agree to the terms of the associated Analog Devices Software License Agreement.

+

Enumeration Type Documentation

+ +

◆ ad7091r_conv_pin_state

+ +
+
+ + + + +
enum ad7091r_conv_pin_state
+
+ + + +
Enumerator
CNV_GPIO_OUTPUT 
CNV_PWM 
+ +
+
+

Function Documentation

+ +

◆ ad7091r_reconfig_conv()

+ +
+
+ + + + + + + + + + + + + + + + + + +
int ad7091r_reconfig_conv (struct ad7091r8_dev * device,
enum ad7091r_conv_pin_state pin_state 
)
+
+ +

Reconfigure Conversion pin from GPIO output to PWM and vice versa.

+
Parameters
+ + + +
device[in]- AD7091r device instance
pin_state[in]- Current state of conversion pin
+
+
+
Returns
0 in case of success, negative error code otherwise
+ +
+
+
+ + + + diff --git a/doxygen/ad7091r__support_8h__dep__incl.map b/doxygen/ad7091r__support_8h__dep__incl.map new file mode 100644 index 00000000..636907b7 --- /dev/null +++ b/doxygen/ad7091r__support_8h__dep__incl.map @@ -0,0 +1,6 @@ + + + + + + diff --git a/doxygen/ad7091r__support_8h__dep__incl.md5 b/doxygen/ad7091r__support_8h__dep__incl.md5 new file mode 100644 index 00000000..254ef7e1 --- /dev/null +++ b/doxygen/ad7091r__support_8h__dep__incl.md5 @@ -0,0 +1 @@ +be3047e0706ea9a8127677107d530a60 \ No newline at end of file diff --git a/doxygen/ad7091r__support_8h__dep__incl.png b/doxygen/ad7091r__support_8h__dep__incl.png new file mode 100644 index 00000000..eecdb3a5 Binary files /dev/null and b/doxygen/ad7091r__support_8h__dep__incl.png differ diff --git a/doxygen/ad7091r__support_8h__incl.map b/doxygen/ad7091r__support_8h__incl.map new file mode 100644 index 00000000..b9d848af --- /dev/null +++ b/doxygen/ad7091r__support_8h__incl.map @@ -0,0 +1,4 @@ + + + + diff --git a/doxygen/ad7091r__support_8h__incl.md5 b/doxygen/ad7091r__support_8h__incl.md5 new file mode 100644 index 00000000..a443a400 --- /dev/null +++ b/doxygen/ad7091r__support_8h__incl.md5 @@ -0,0 +1 @@ +3c9e07b33c1ea3bbd96b46dd6bc18918 \ No newline at end of file diff --git a/doxygen/ad7091r__support_8h__incl.png b/doxygen/ad7091r__support_8h__incl.png new file mode 100644 index 00000000..89dee677 Binary files /dev/null and b/doxygen/ad7091r__support_8h__incl.png differ diff --git a/doxygen/ad7091r__support_8h_source.html b/doxygen/ad7091r__support_8h_source.html new file mode 100644 index 00000000..044a79cd --- /dev/null +++ b/doxygen/ad7091r__support_8h_source.html @@ -0,0 +1,105 @@ + + + + + + + +precision-converters-firmware: /home/runner/work/precision-converters-firmware/precision-converters-firmware/projects/ad7091r_iio/app/ad7091r_support.h Source File + + + + + + + + + +
+
+ + + + + + +
+
precision-converters-firmware +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
ad7091r_support.h
+
+
+Go to the documentation of this file.
1 /***************************************************************************/
+
12 #ifndef AD7091R_SUPPORT_H_
+
13 #define AD7091R_SUPPORT_H_
+
14 
+
15 /******************************************************************************/
+
16 /***************************** Include Files **********************************/
+
17 /******************************************************************************/
+
18 
+
19 #include "ad7091r8.h"
+
20 
+
21 /******************************************************************************/
+
22 /********************** Public/Extern Declarations ****************************/
+
23 /******************************************************************************/
+ + +
26  CNV_PWM
+
27 };
+
28 
+
29 int ad7091r_reconfig_conv(struct ad7091r8_dev *device,
+
30  enum ad7091r_conv_pin_state pin_state);
+
31 
+
32 #endif /* AD7091R_SUPPORT_H_ */
+
struct ad5933_dev * device
Definition: main.c:77
+
int ad7091r_reconfig_conv(struct ad7091r8_dev *device, enum ad7091r_conv_pin_state pin_state)
Reconfigure Conversion pin from GPIO output to PWM and vice versa.
Definition: ad7091r_support.c:32
+
ad7091r_conv_pin_state
Definition: ad7091r_support.h:24
+
@ CNV_PWM
Definition: ad7091r_support.h:26
+
@ CNV_GPIO_OUTPUT
Definition: ad7091r_support.h:25
+
+ + + + diff --git a/doxygen/ad7091r__user__config_8c.html b/doxygen/ad7091r__user__config_8c.html new file mode 100644 index 00000000..0b86ba3a --- /dev/null +++ b/doxygen/ad7091r__user__config_8c.html @@ -0,0 +1,226 @@ + + + + + + + +precision-converters-firmware: /home/runner/work/precision-converters-firmware/precision-converters-firmware/projects/ad7091r_iio/app/ad7091r_user_config.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
precision-converters-firmware +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
ad7091r_user_config.c File Reference
+
+
+ +

User configurations for AD7091R No-OS driver. +More...

+
#include "ad7091r_user_config.h"
+#include "app_config.h"
+
+Include dependency graph for ad7091r_user_config.c:
+
+
+ + + + + + + + + + + + + + + + + + + +
+
+ + + + + + + + + +

+Variables

struct no_os_gpio_init_param cnvst_params
 
struct no_os_gpio_init_param reset_params
 
struct no_os_spi_init_param spi_params
 
struct ad7091r8_init_param ad7091r_init_params
 
+

Detailed Description

+

User configurations for AD7091R No-OS driver.

+

Copyright (c) 2024 Analog Devices, Inc. All rights reserved.

+

This software is proprietary to Analog Devices, Inc. and its licensors. By using this software you agree to the terms of the associated Analog Devices Software License Agreement.

+

Variable Documentation

+ +

◆ ad7091r_init_params

+ +
+
+ + + + +
struct ad7091r8_init_param ad7091r_init_params
+
+Initial value:
= {
+
.device_id = ACTIVE_DEVICE_ID,
+
.spi_init = &spi_params,
+
.vref_mv = ADC_VREF_MV,
+
.gpio_convst = &cnvst_params,
+
.gpio_reset = &reset_params,
+
.sleep_mode = AD7091R8_SLEEP_MODE_1
+
}
+
#define ACTIVE_DEVICE_ID
Definition: app_config.h:82
+
struct no_os_spi_init_param spi_params
Definition: ad7091r_user_config.c:45
+
struct no_os_gpio_init_param reset_params
Definition: ad7091r_user_config.c:37
+
struct no_os_gpio_init_param cnvst_params
Definition: ad7091r_user_config.c:29
+
+
+
+ +

◆ cnvst_params

+ +
+
+ + + + +
struct no_os_gpio_init_param cnvst_params
+
+Initial value:
= {
+
.number = CNV_PIN,
+
.port = CNV_PORT,
+
.platform_ops = &gpio_ops,
+ +
}
+
#define gpio_ops
Definition: app_config.h:85
+
#define CNV_PIN
Definition: app_config_mbed.h:39
+
#define CNV_PORT
Definition: app_config_stm32.h:50
+
#define cnv_gpio_extra_init_param
Definition: app_config_stm32.h:104
+
+
+
+ +

◆ reset_params

+ +
+
+ + + + +
struct no_os_gpio_init_param reset_params
+
+Initial value:
= {
+
.number = RESET_PIN,
+
.port = RESET_PORT,
+
.platform_ops = &gpio_ops,
+ +
}
+
#define RESET_PIN
Definition: app_config_mbed.h:41
+
#define RESET_PORT
Definition: app_config_mbed.h:49
+
#define reset_gpio_extra_init_param
Definition: app_config_stm32.h:105
+
+
+
+ +

◆ spi_params

+ +
+
+ + + + +
struct no_os_spi_init_param spi_params
+
+Initial value:
= {
+
.device_id = SPI_DEVICE_ID,
+
.max_speed_hz = MAX_SPI_SCLK,
+
.chip_select = SPI_CSB,
+
.mode = NO_OS_SPI_MODE_0,
+
.platform_ops = &spi_ops,
+ +
}
+
#define spi_ops
Definition: app_config.h:86
+
#define spi_extra_init_params
Definition: app_config.h:80
+
#define SPI_CSB
Definition: app_config_mbed.h:33
+
#define SPI_DEVICE_ID
Definition: app_config_mbed.h:70
+
#define MAX_SPI_SCLK
Definition: app_config_mbed.h:72
+
+
+
+
+ + + + diff --git a/doxygen/ad7091r__user__config_8c__incl.map b/doxygen/ad7091r__user__config_8c__incl.map new file mode 100644 index 00000000..05fc7bcc --- /dev/null +++ b/doxygen/ad7091r__user__config_8c__incl.map @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + diff --git a/doxygen/ad7091r__user__config_8c__incl.md5 b/doxygen/ad7091r__user__config_8c__incl.md5 new file mode 100644 index 00000000..5caa6d8d --- /dev/null +++ b/doxygen/ad7091r__user__config_8c__incl.md5 @@ -0,0 +1 @@ +9314abe3c438d165fe3d90a0cadd0664 \ No newline at end of file diff --git a/doxygen/ad7091r__user__config_8c__incl.png b/doxygen/ad7091r__user__config_8c__incl.png new file mode 100644 index 00000000..de2ca30b Binary files /dev/null and b/doxygen/ad7091r__user__config_8c__incl.png differ diff --git a/doxygen/ad7091r__user__config_8h.html b/doxygen/ad7091r__user__config_8h.html new file mode 100644 index 00000000..83cc7e36 --- /dev/null +++ b/doxygen/ad7091r__user__config_8h.html @@ -0,0 +1,132 @@ + + + + + + + +precision-converters-firmware: /home/runner/work/precision-converters-firmware/precision-converters-firmware/projects/ad7091r_iio/app/ad7091r_user_config.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
precision-converters-firmware +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
ad7091r_user_config.h File Reference
+
+
+
#include "ad7091r8.h"
+
+Include dependency graph for ad7091r_user_config.h:
+
+
+ + + + +
+
+This graph shows which files directly or indirectly include this file:
+
+
+ + + + + + +
+
+

Go to the source code of this file.

+ + + + +

+Variables

struct ad7091r8_init_param ad7091r_init_params
 
+

Variable Documentation

+ +

◆ ad7091r_init_params

+ +
+
+ + + + + +
+ + + + +
struct ad7091r8_init_param ad7091r_init_params
+
+extern
+
+ +
+
+
+ + + + diff --git a/doxygen/ad7091r__user__config_8h__dep__incl.map b/doxygen/ad7091r__user__config_8h__dep__incl.map new file mode 100644 index 00000000..7473ab93 --- /dev/null +++ b/doxygen/ad7091r__user__config_8h__dep__incl.map @@ -0,0 +1,6 @@ + + + + + + diff --git a/doxygen/ad7091r__user__config_8h__dep__incl.md5 b/doxygen/ad7091r__user__config_8h__dep__incl.md5 new file mode 100644 index 00000000..6a846f60 --- /dev/null +++ b/doxygen/ad7091r__user__config_8h__dep__incl.md5 @@ -0,0 +1 @@ +c44dfa1e42404a18a5f2fe3ff985462a \ No newline at end of file diff --git a/doxygen/ad7091r__user__config_8h__dep__incl.png b/doxygen/ad7091r__user__config_8h__dep__incl.png new file mode 100644 index 00000000..9c46fde3 Binary files /dev/null and b/doxygen/ad7091r__user__config_8h__dep__incl.png differ diff --git a/doxygen/ad7091r__user__config_8h__incl.map b/doxygen/ad7091r__user__config_8h__incl.map new file mode 100644 index 00000000..65ca4787 --- /dev/null +++ b/doxygen/ad7091r__user__config_8h__incl.map @@ -0,0 +1,4 @@ + + + + diff --git a/doxygen/ad7091r__user__config_8h__incl.md5 b/doxygen/ad7091r__user__config_8h__incl.md5 new file mode 100644 index 00000000..5e5f6d7e --- /dev/null +++ b/doxygen/ad7091r__user__config_8h__incl.md5 @@ -0,0 +1 @@ +7ae5986222f44e16244a3aeee0425a5d \ No newline at end of file diff --git a/doxygen/ad7091r__user__config_8h__incl.png b/doxygen/ad7091r__user__config_8h__incl.png new file mode 100644 index 00000000..84c63aad Binary files /dev/null and b/doxygen/ad7091r__user__config_8h__incl.png differ diff --git a/doxygen/ad7091r__user__config_8h_source.html b/doxygen/ad7091r__user__config_8h_source.html new file mode 100644 index 00000000..9de5ebf7 --- /dev/null +++ b/doxygen/ad7091r__user__config_8h_source.html @@ -0,0 +1,111 @@ + + + + + + + +precision-converters-firmware: /home/runner/work/precision-converters-firmware/precision-converters-firmware/projects/ad7091r_iio/app/ad7091r_user_config.h Source File + + + + + + + + + +
+
+ + + + + + +
+
precision-converters-firmware +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
ad7091r_user_config.h
+
+
+Go to the documentation of this file.
1 /***************************************************************************//*
+
2  * @file ad7091r_user_config.h
+
3  * @brief User configurations for AD7091R No-OS driver
+
4 ******************************************************************************
+
5  * Copyright (c) 2024 Analog Devices, Inc.
+
6  * All rights reserved.
+
7  *
+
8  * This software is proprietary to Analog Devices, Inc. and its licensors.
+
9  * By using this software you agree to the terms of the associated
+
10  * Analog Devices Software License Agreement.
+
11 ******************************************************************************/
+
12 
+
13 #ifndef AD7091R_USER_CONFIG_H_
+
14 #define AD7091R_USER_CONFIG_H_
+
15 
+
16 /******************************************************************************/
+
17 /***************************** Include Files **********************************/
+
18 /******************************************************************************/
+
19 
+
20 #include "ad7091r8.h"
+
21 
+
22 /******************************************************************************/
+
23 /********************** Macros and Constants Definition ***********************/
+
24 /******************************************************************************/
+
25 
+
26 /******************************************************************************/
+
27 /********************** Public/Extern Declarations ****************************/
+
28 /******************************************************************************/
+
29 
+
30 extern struct ad7091r8_init_param ad7091r_init_params;
+
31 
+
32 #endif /* AD7091R_USER_CONFIG_H_ */
+
struct ad7091r8_init_param ad7091r_init_params
Definition: ad7091r_user_config.c:55
+
+ + + + diff --git a/doxygen/ad717x__menu__defines_8h.html b/doxygen/ad717x__menu__defines_8h.html index 5a7a206d..652375fa 100644 --- a/doxygen/ad717x__menu__defines_8h.html +++ b/doxygen/ad717x__menu__defines_8h.html @@ -5186,7 +5186,7 @@

Initial value:
= {
-
+ @@ -5551,10 +5551,10 @@

Initial value:
= {
-
+
{ "27 SPS, 47 dB reject, 36.7 ms settling ", 'A', menu_postfiler_select, NULL, POST_FLTR_27_SPS },
{ "25 SPS, 62 dB reject, 40 ms settling", 'B', menu_postfiler_select, NULL, POST_FLTR_25_SPS },
{ "20 SPS, 86 dB reject, 50 ms settling", 'C', menu_postfiler_select, NULL, POST_FLTR_20_SPS },
-
{ "16.67 SPS, 92 dB reject, 60 ms settling",'D', menu_postfiler_select, NULL, POST_FLTR_16_67_SPS },
+
{ "16.67 SPS, 92 dB reject, 60 ms settling", 'D', menu_postfiler_select, NULL, POST_FLTR_16_67_SPS },
}
int32_t menu_postfiler_select(uint32_t user_input_post_filter_type)
Handle the menu to select the post filter.
Definition: ad717x_console_app.c:1014
#define POST_FLTR_16_67_SPS
Definition: ad717x_menu_defines.h:378
diff --git a/doxygen/ad717x__menu__defines_8h_source.html b/doxygen/ad717x__menu__defines_8h_source.html index 3bc64321..94ce98ac 100644 --- a/doxygen/ad717x__menu__defines_8h_source.html +++ b/doxygen/ad717x__menu__defines_8h_source.html @@ -641,8 +641,8 @@
585  { "VIN4, VINCOM", 'J', menu_analog_input_connect, NULL, ((VIN4_INPUT_BITS << VIN_PAIR_OFFSET) | VINCOM_INPUT_BITS) },
586  { "VIN5, VIN4", 'K', menu_analog_input_connect, NULL, ((VIN5_INPUT_BITS << VIN_PAIR_OFFSET) | VIN4_INPUT_BITS) },
587  { "VIN5, VINCOM", 'L', menu_analog_input_connect, NULL, ((VIN5_INPUT_BITS << VIN_PAIR_OFFSET) | VINCOM_INPUT_BITS) },
-
588  { "VIN6, VIN7", 'M', menu_analog_input_connect,NULL, ((VIN6_INPUT_BITS << VIN_PAIR_OFFSET) | VIN7_INPUT_BITS) },
-
589  { "VIN6, VINCOM", 'N', menu_analog_input_connect,NULL, ((VIN6_INPUT_BITS << VIN_PAIR_OFFSET) | VINCOM_INPUT_BITS) },
+
588  { "VIN6, VIN7", 'M', menu_analog_input_connect, NULL, ((VIN6_INPUT_BITS << VIN_PAIR_OFFSET) | VIN7_INPUT_BITS) },
+
589  { "VIN6, VINCOM", 'N', menu_analog_input_connect, NULL, ((VIN6_INPUT_BITS << VIN_PAIR_OFFSET) | VINCOM_INPUT_BITS) },
590  { "VIN7, VIN6", 'O', menu_analog_input_connect, NULL, ((VIN7_INPUT_BITS << VIN_PAIR_OFFSET) | VIN6_INPUT_BITS) },
591  { "VIN7, VINCOM", 'P', menu_analog_input_connect, NULL, ((VIN7_INPUT_BITS << VIN_PAIR_OFFSET) | VINCOM_INPUT_BITS) },
592 #if defined(DEV_AD4111) || defined(DEV_AD4112)
@@ -831,7 +831,7 @@
775  * Definition of the open wire detect differential ended analog inputs menu items and menu itself
776  */
-
778  { "VIN0, VIN1", 'A', menu_select_input_pair, NULL, ((VIN0_INPUT_BITS << VIN_PAIR_OFFSET) | VIN1_INPUT_BITS) },
+
778  { "VIN0, VIN1", 'A', menu_select_input_pair, NULL, ((VIN0_INPUT_BITS << VIN_PAIR_OFFSET) | VIN1_INPUT_BITS) },
779  { "VIN2, VIN3", 'B', menu_select_input_pair, NULL, ((VIN2_INPUT_BITS << VIN_PAIR_OFFSET) | VIN3_INPUT_BITS) },
780  { "VIN4, VIN5", 'C', menu_select_input_pair, NULL, ((VIN4_INPUT_BITS << VIN_PAIR_OFFSET) | VIN5_INPUT_BITS) },
781  { "VIN6, VIN7", 'D', menu_select_input_pair, NULL, ((VIN6_INPUT_BITS << VIN_PAIR_OFFSET) | VIN7_INPUT_BITS) },
@@ -924,10 +924,10 @@
868  * Definition of the post-filter select menu items and menu itself
869  */
-
871  { "27 SPS, 47 dB reject, 36.7 ms settling ",'A', menu_postfiler_select, NULL, POST_FLTR_27_SPS },
+
871  { "27 SPS, 47 dB reject, 36.7 ms settling ", 'A', menu_postfiler_select, NULL, POST_FLTR_27_SPS },
872  { "25 SPS, 62 dB reject, 40 ms settling", 'B', menu_postfiler_select, NULL, POST_FLTR_25_SPS },
873  { "20 SPS, 86 dB reject, 50 ms settling", 'C', menu_postfiler_select, NULL, POST_FLTR_20_SPS },
-
874  { "16.67 SPS, 92 dB reject, 60 ms settling",'D', menu_postfiler_select, NULL, POST_FLTR_16_67_SPS },
+
874  { "16.67 SPS, 92 dB reject, 60 ms settling", 'D', menu_postfiler_select, NULL, POST_FLTR_16_67_SPS },
875 };
876 
diff --git a/doxygen/ad738x__iio_2app_2app__config_8h.html b/doxygen/ad738x__iio_2app_2app__config_8h.html index 2e55ca29..da25ca00 100644 --- a/doxygen/ad738x__iio_2app_2app__config_8h.html +++ b/doxygen/ad738x__iio_2app_2app__config_8h.html @@ -837,7 +837,9 @@

Initialize the PWM trigger contoller.

-
Returns
0 in case of success, negative error code otherwise
+
Returns
0 in case of success, negative error code otherwise
+

Initialize the PWM trigger contoller.

+
Returns
0 in case of success, negative error code otherwise.

diff --git a/doxygen/ad7606__iio_2app_2app__config_8h.html b/doxygen/ad7606__iio_2app_2app__config_8h.html index 87730349..85ffd786 100644 --- a/doxygen/ad7606__iio_2app_2app__config_8h.html +++ b/doxygen/ad7606__iio_2app_2app__config_8h.html @@ -964,7 +964,9 @@

Initialize the PWM trigger contoller.

-
Returns
0 in case of success, negative error code otherwise
+
Returns
0 in case of success, negative error code otherwise
+

Initialize the PWM trigger contoller.

+
Returns
0 in case of success, negative error code otherwise.
diff --git a/doxygen/ad7689__iio_2app_2app__config_8h.html b/doxygen/ad7689__iio_2app_2app__config_8h.html index 01ba0438..348db15e 100644 --- a/doxygen/ad7689__iio_2app_2app__config_8h.html +++ b/doxygen/ad7689__iio_2app_2app__config_8h.html @@ -848,7 +848,9 @@

Initialize the PWM trigger contoller.

-
Returns
0 in case of success, negative error code otherwise
+
Returns
0 in case of success, negative error code otherwise
+

Initialize the PWM trigger contoller.

+
Returns
0 in case of success, negative error code otherwise.
diff --git a/doxygen/ad77681_8h_source.html b/doxygen/ad77681_8h_source.html index e2833987..22dced81 100644 --- a/doxygen/ad77681_8h_source.html +++ b/doxygen/ad77681_8h_source.html @@ -415,7 +415,7 @@
382 
- +
387  AD77681_NEGATIVE_FS = 0xA
388 };
diff --git a/doxygen/common_8c.html b/doxygen/common_8c.html index 83ab31c9..abf861cf 100644 --- a/doxygen/common_8c.html +++ b/doxygen/common_8c.html @@ -317,13 +317,15 @@

- + - + + - + + diff --git a/doxygen/common_8c_aabca3ebb3bc7536cfa89b2e1531f9eac_icgraph.map b/doxygen/common_8c_aabca3ebb3bc7536cfa89b2e1531f9eac_icgraph.map index 4b7e9d28..30a9d521 100644 --- a/doxygen/common_8c_aabca3ebb3bc7536cfa89b2e1531f9eac_icgraph.map +++ b/doxygen/common_8c_aabca3ebb3bc7536cfa89b2e1531f9eac_icgraph.map @@ -1,9 +1,11 @@ - + - + + - + + diff --git a/doxygen/common_8c_aabca3ebb3bc7536cfa89b2e1531f9eac_icgraph.md5 b/doxygen/common_8c_aabca3ebb3bc7536cfa89b2e1531f9eac_icgraph.md5 index 6aae4198..04c97e2c 100644 --- a/doxygen/common_8c_aabca3ebb3bc7536cfa89b2e1531f9eac_icgraph.md5 +++ b/doxygen/common_8c_aabca3ebb3bc7536cfa89b2e1531f9eac_icgraph.md5 @@ -1 +1 @@ -6ec17ee846f36813c5448d5c1de95d7f \ No newline at end of file +4b81597256b243df0445519b722db41e \ No newline at end of file diff --git a/doxygen/common_8c_aabca3ebb3bc7536cfa89b2e1531f9eac_icgraph.png b/doxygen/common_8c_aabca3ebb3bc7536cfa89b2e1531f9eac_icgraph.png index 428a79f8..05e66358 100644 Binary files a/doxygen/common_8c_aabca3ebb3bc7536cfa89b2e1531f9eac_icgraph.png and b/doxygen/common_8c_aabca3ebb3bc7536cfa89b2e1531f9eac_icgraph.png differ diff --git a/doxygen/common_8h.html b/doxygen/common_8h.html index 1aabc534..9ea58202 100644 --- a/doxygen/common_8h.html +++ b/doxygen/common_8h.html @@ -101,7 +101,7 @@
diff --git a/doxygen/common_8h__dep__incl.map b/doxygen/common_8h__dep__incl.map index e467dffb..bd6a6026 100644 --- a/doxygen/common_8h__dep__incl.map +++ b/doxygen/common_8h__dep__incl.map @@ -1,5 +1,5 @@ - + @@ -15,29 +15,31 @@ - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doxygen/common_8h__dep__incl.md5 b/doxygen/common_8h__dep__incl.md5 index f03dfff8..a5e02e80 100644 --- a/doxygen/common_8h__dep__incl.md5 +++ b/doxygen/common_8h__dep__incl.md5 @@ -1 +1 @@ -2f8c708deb6f286aa03d2918c1f0108b \ No newline at end of file +e724d679f7608bc8519038037232eb32 \ No newline at end of file diff --git a/doxygen/common_8h__dep__incl.png b/doxygen/common_8h__dep__incl.png index 7e2031d2..accb31c5 100644 Binary files a/doxygen/common_8h__dep__incl.png and b/doxygen/common_8h__dep__incl.png differ diff --git a/doxygen/common_8h_aabca3ebb3bc7536cfa89b2e1531f9eac_icgraph.map b/doxygen/common_8h_aabca3ebb3bc7536cfa89b2e1531f9eac_icgraph.map index 4b7e9d28..30a9d521 100644 --- a/doxygen/common_8h_aabca3ebb3bc7536cfa89b2e1531f9eac_icgraph.map +++ b/doxygen/common_8h_aabca3ebb3bc7536cfa89b2e1531f9eac_icgraph.map @@ -1,9 +1,11 @@ - + - + + - + + diff --git a/doxygen/common_8h_aabca3ebb3bc7536cfa89b2e1531f9eac_icgraph.md5 b/doxygen/common_8h_aabca3ebb3bc7536cfa89b2e1531f9eac_icgraph.md5 index 6aae4198..04c97e2c 100644 --- a/doxygen/common_8h_aabca3ebb3bc7536cfa89b2e1531f9eac_icgraph.md5 +++ b/doxygen/common_8h_aabca3ebb3bc7536cfa89b2e1531f9eac_icgraph.md5 @@ -1 +1 @@ -6ec17ee846f36813c5448d5c1de95d7f \ No newline at end of file +4b81597256b243df0445519b722db41e \ No newline at end of file diff --git a/doxygen/common_8h_aabca3ebb3bc7536cfa89b2e1531f9eac_icgraph.png b/doxygen/common_8h_aabca3ebb3bc7536cfa89b2e1531f9eac_icgraph.png index 428a79f8..05e66358 100644 Binary files a/doxygen/common_8h_aabca3ebb3bc7536cfa89b2e1531f9eac_icgraph.png and b/doxygen/common_8h_aabca3ebb3bc7536cfa89b2e1531f9eac_icgraph.png differ diff --git a/doxygen/dir_000016_000006.html b/doxygen/dir_000016_000006.html index f1816135..0c66b4ae 100644 --- a/doxygen/dir_000016_000006.html +++ b/doxygen/dir_000016_000006.html @@ -65,7 +65,7 @@
-

projects → libraries Relation

File in runner/work/precision-converters-firmware/precision-converters-firmware/projectsIncludes file in runner/work/precision-converters-firmware/precision-converters-firmware/libraries
evb_discovery_firmware / app / 24xx32a_eeprom_iio.cprecision-converters-library / common / common.h
ad2s1210_iio / app / ad2s1210_iio.cprecision-converters-library / common / common.h
ad405x_iio / app / ad405x_iio.cprecision-converters-library / common / common.h
ad4130_iio / app / ad4130_iio.cprecision-converters-library / board_info / board_info.h
ad4130_iio / app / ad4130_iio.cprecision-converters-library / common / common.h
ad4170_iio / app / ad4170_iio.cprecision-converters-library / common / common.h
ad469x_iio / app / ad469x_iio.cprecision-converters-library / common / common.h
ad559xr_console / app / ad5592r_console_app.hprecision-converters-library / adi_console_menu / adi_console_menu.h
ad5754r_iio / app / ad5754r_iio.cprecision-converters-library / common / common.h
ad5770r_console / app / ad5770r_console_app.hprecision-converters-library / adi_console_menu / adi_console_menu.h
ad579x_iio / app / ad579x_iio.cprecision-converters-library / common / common.h
ad590_console / app / ad590_console_app.hprecision-converters-library / adi_console_menu / adi_console_menu.h
ad7124_temperature-measure / app / ad7124_console_app.hprecision-converters-library / adi_console_menu / adi_console_menu.h
ad7124_console / app / ad7124_console_app.hprecision-converters-library / adi_console_menu / adi_console_menu.h
ad7124_iio / app / ad7124_iio.cprecision-converters-library / common / common.h
ad7134_iio / app / ad7134_iio.cprecision-converters-library / common / common.h
ad717x_console / app / ad717x_console_app.hprecision-converters-library / adi_console_menu / adi_console_menu.h
ad717x_iio / app / ad717x_iio.cprecision-converters-library / common / common.h
ad717x_console / app / ad717x_menu_defines.hprecision-converters-library / adi_console_menu / adi_console_menu.h
ad719x_iio / app / ad719x_iio.cprecision-converters-library / common / common.h
ad738x_iio / app / ad738x_iio.cprecision-converters-library / common / common.h
ad7689_iio / app / ad7689_iio.cprecision-converters-library / common / common.h
ad77681_iio / app / ad77681_iio.cprecision-converters-library / common / common.h
ad777x_iio / app / ad777x_iio.cprecision-converters-library / common / common.h
ad719x_iio / app / app_config.cprecision-converters-library / common / common.h
evb_discovery_firmware / app / app_config.cprecision-converters-library / common / common.h
ad4170_iio / app / app_config.cprecision-converters-library / common / common.h
ad579x_iio / app / app_config.cprecision-converters-library / common / common.h
ad7689_iio / app / app_config.cprecision-converters-library / common / common.h
ad7134_iio / app / app_config.cprecision-converters-library / common / common.h
ad5754r_iio / app / app_config.cprecision-converters-library / common / common.h
ad777x_iio / app / app_config.cprecision-converters-library / common / common.h
ad7124_iio / app / app_config.cprecision-converters-library / common / common.h
ad77681_iio / app / app_config.cprecision-converters-library / common / common.h
ltc2672_iio / app / app_config.cprecision-converters-library / common / common.h
ad469x_iio / app / app_config.cprecision-converters-library / common / common.h
ad7606_iio / app / app_config.cprecision-converters-library / common / common.h
ad717x_iio / app / app_config.cprecision-converters-library / common / common.h
ad4130_iio / app / app_config.cprecision-converters-library / common / common.h
ad738x_iio / app / app_config.cprecision-converters-library / common / common.h
ad405x_iio / app / app_config.cprecision-converters-library / common / common.h
ad2s1210_iio / app / app_config.cprecision-converters-library / common / common.h
ad355xr_iio / app / app_config.hprecision-converters-library / common / common.h
ad7606_iio / app / iio_ad7606.cprecision-converters-library / common / common.h
ltc2672_iio / app / ltc2672_iio.cprecision-converters-library / common / common.h
ltc268x_console / app / ltc268x_console_app.hprecision-converters-library / adi_console_menu / adi_console_menu.h
ad5770r_console / app / main.cprecision-converters-library / adi_console_menu / adi_console_menu.h
nanodac_console / app / nanodac_console_app.hprecision-converters-library / adi_console_menu / adi_console_menu.h
+

projects → libraries Relation

File in runner/work/precision-converters-firmware/precision-converters-firmware/projectsIncludes file in runner/work/precision-converters-firmware/precision-converters-firmware/libraries
evb_discovery_firmware / app / 24xx32a_eeprom_iio.cprecision-converters-library / common / common.h
ad2s1210_iio / app / ad2s1210_iio.cprecision-converters-library / common / common.h
ad405x_iio / app / ad405x_iio.cprecision-converters-library / common / common.h
ad4130_iio / app / ad4130_iio.cprecision-converters-library / board_info / board_info.h
ad4130_iio / app / ad4130_iio.cprecision-converters-library / common / common.h
ad4170_iio / app / ad4170_iio.cprecision-converters-library / common / common.h
ad469x_iio / app / ad469x_iio.cprecision-converters-library / common / common.h
ad559xr_console / app / ad5592r_console_app.hprecision-converters-library / adi_console_menu / adi_console_menu.h
ad5754r_iio / app / ad5754r_iio.cprecision-converters-library / common / common.h
ad5770r_console / app / ad5770r_console_app.hprecision-converters-library / adi_console_menu / adi_console_menu.h
ad579x_iio / app / ad579x_iio.cprecision-converters-library / common / common.h
ad590_console / app / ad590_console_app.hprecision-converters-library / adi_console_menu / adi_console_menu.h
ad7091r_iio / app / ad7091r_iio.cprecision-converters-library / common / common.h
ad7124_console / app / ad7124_console_app.hprecision-converters-library / adi_console_menu / adi_console_menu.h
ad7124_temperature-measure / app / ad7124_console_app.hprecision-converters-library / adi_console_menu / adi_console_menu.h
ad7124_iio / app / ad7124_iio.cprecision-converters-library / common / common.h
ad7134_iio / app / ad7134_iio.cprecision-converters-library / common / common.h
ad717x_console / app / ad717x_console_app.hprecision-converters-library / adi_console_menu / adi_console_menu.h
ad717x_iio / app / ad717x_iio.cprecision-converters-library / common / common.h
ad717x_console / app / ad717x_menu_defines.hprecision-converters-library / adi_console_menu / adi_console_menu.h
ad719x_iio / app / ad719x_iio.cprecision-converters-library / common / common.h
ad738x_iio / app / ad738x_iio.cprecision-converters-library / common / common.h
ad7689_iio / app / ad7689_iio.cprecision-converters-library / common / common.h
ad77681_iio / app / ad77681_iio.cprecision-converters-library / common / common.h
ad777x_iio / app / ad777x_iio.cprecision-converters-library / common / common.h
ad719x_iio / app / app_config.cprecision-converters-library / common / common.h
ad777x_iio / app / app_config.cprecision-converters-library / common / common.h
evb_discovery_firmware / app / app_config.cprecision-converters-library / common / common.h
ad4130_iio / app / app_config.cprecision-converters-library / common / common.h
ad7134_iio / app / app_config.cprecision-converters-library / common / common.h
ad7606_iio / app / app_config.cprecision-converters-library / common / common.h
ad469x_iio / app / app_config.cprecision-converters-library / common / common.h
ad7091r_iio / app / app_config.cprecision-converters-library / common / common.h
ad5754r_iio / app / app_config.cprecision-converters-library / common / common.h
ad77681_iio / app / app_config.cprecision-converters-library / common / common.h
ad4170_iio / app / app_config.cprecision-converters-library / common / common.h
ad717x_iio / app / app_config.cprecision-converters-library / common / common.h
ad2s1210_iio / app / app_config.cprecision-converters-library / common / common.h
ad738x_iio / app / app_config.cprecision-converters-library / common / common.h
ltc2672_iio / app / app_config.cprecision-converters-library / common / common.h
ad7124_iio / app / app_config.cprecision-converters-library / common / common.h
ad7689_iio / app / app_config.cprecision-converters-library / common / common.h
ad579x_iio / app / app_config.cprecision-converters-library / common / common.h
ad405x_iio / app / app_config.cprecision-converters-library / common / common.h
ad355xr_iio / app / app_config.hprecision-converters-library / common / common.h
ad7606_iio / app / iio_ad7606.cprecision-converters-library / common / common.h
ltc2672_iio / app / ltc2672_iio.cprecision-converters-library / common / common.h
ltc268x_console / app / ltc268x_console_app.hprecision-converters-library / adi_console_menu / adi_console_menu.h
ad5770r_console / app / main.cprecision-converters-library / adi_console_menu / adi_console_menu.h
nanodac_console / app / nanodac_console_app.hprecision-converters-library / adi_console_menu / adi_console_menu.h