Skip to content

Commit

Permalink
projects: ltc2672: Release ltc2672 firmware
Browse files Browse the repository at this point in the history
Release iio application source code
Checkout no-os libraries to latest commit ids, update lib file
Update mbedignore file
Add the project to the github build workflow

Signed-off-by: SGudla <[email protected]>
  • Loading branch information
SaikiranGudla committed Apr 24, 2024
1 parent b36119b commit 5110146
Show file tree
Hide file tree
Showing 23 changed files with 1,864 additions and 2 deletions.
1 change: 1 addition & 0 deletions .github/workflows/build-projects.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,7 @@ jobs:
- ad777x_iio
- adt7420_console
- evb_discovery_firmware
- ltc2672_iio
- ltc268x_console
- nanodac_console
steps:
Expand Down
1 change: 1 addition & 0 deletions .mbedignore
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ projects/ad579x_iio/
projects/ad7606_iio/
projects/ad77681_iio/
projects/ad738x_iio/
projects/ltc2672_iio/
projects/ad7124_temperature-measure/
projects/ad7124_console/
projects/ad717x_console/
Expand Down
2 changes: 1 addition & 1 deletion libraries/no-OS
Submodule no-OS updated 369 files
2 changes: 1 addition & 1 deletion libraries/no-OS.lib
Original file line number Diff line number Diff line change
@@ -1 +1 @@
https://github.com/analogdevicesinc/no-OS/#a7b7ba26ca3e654697c35b1f1faf14ad8b540d32
https://github.com/analogdevicesinc/no-OS/#2371c3b7c87497d13978f51d470dacbb206a52eb
27 changes: 27 additions & 0 deletions projects/ltc2672_iio/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
*.swp
*.profile*
build
Visual*
Code*
.gitattributes
.vs/
*.sln
*.vgdbproj
*.TMP
*.user
STM32/.settings
STM32/Core
STM32/Drivers
STM32/Debug
STM32/.mxproject
STM32/.cproject
STM32/.project
STM32/*.launch
STM32/*.vgdbsettings
STM32/*.vcxproj
STM32/*.vcxproj.filters
STM32/stm32.props
STM32/stm32.xml
STM32/STM32F469NIHX_FLASH.ld
STM32/STM32F469NIHX_RAM.ld
scripts/__pycache__
4 changes: 4 additions & 0 deletions projects/ltc2672_iio/.mbedignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
STM32/
app/app_config_stm32.h
app/app_config_stm32.c
app/stm32_gpio_irq_generated.c
22 changes: 22 additions & 0 deletions projects/ltc2672_iio/STM32/.extSettings
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
[ProjectFiles]
HeaderPath=../app;../../../libraries/no-OS/util;../../../libraries/no-OS/include;../../../libraries/no-OS/drivers/platform/stm32;../../../libraries/no-OS/iio;../../../libraries/no-OS/drivers/dac/ltc2672;../../../libraries/no-OS/drivers/api;../../../libraries/precision-converters-library/common/;../../../libraries/precision-converters-library/board_info/;

[Groups]
app/=../app/main.c;../app/ltc2672_iio.c;../app/ltc2672_iio.h;../app/app_config.h;../app/app_config.c;../app/app_config_stm32.c;../app/app_config_stm32.h;../app/ltc2672_user_config.c;../app/ltc2672_user_config.h;../app/stm32_gpio_irq_generated.c;

app/libraries/precision-converters-library/common/=../../../libraries/precision-converters-library/common/common.h;../../../libraries/precision-converters-library/common/common.c;

app/libraries/precision-converters-library/board_info/=../../../libraries/precision-converters-library/board_info/board_info.c;../../../libraries/precision-converters-library/board_info/board_info.h;

app/libraries/no-OS/drivers/dac/ltc2672/=../../../libraries/no-OS/drivers/dac/ltc2672/ltc2672.c;../../../libraries/no-OS/drivers/dac/ltc2672/ltc2672.h;

app/libraries/no-OS/=../../../libraries/no-OS/util/;../../../libraries/no-OS/include;

app/libraries/no-OS/drivers/platform/stm32/=../../../libraries/no-OS/drivers/platform/stm32/stm32_delay.c;../../../libraries/no-OS/drivers/platform/stm32/stm32_gpio.c;../../../libraries/no-OS/drivers/platform/stm32/stm32_gpio.h;../../../libraries/no-OS/drivers/platform/stm32/stm32_spi.c;../../../libraries/no-OS/drivers/platform/stm32/stm32_spi.h;../../../libraries/no-OS/drivers/platform/stm32/stm32_uart.c;../../../libraries/no-OS/drivers/platform/stm32/stm32_uart.h;../../../libraries/no-OS/drivers/platform/stm32/stm32_delay.h;../../../libraries/no-OS/drivers/platform/stm32/stm32_irq.c;../../../libraries/no-OS/drivers/platform/stm32/stm32_irq.h;

app/libraries/no-OS/iio/=../../../libraries/no-OS/iio/iio.c;../../../libraries/no-OS/iio/iio.h;../../../libraries/no-OS/iio/iiod.h;../../../libraries/no-OS/iio/iiod.c;../../../libraries/no-OS/iio/iio_trigger.c;../../../libraries/no-OS/iio/iio_trigger.h;

app/libraries/no-OS/drivers/api/=../../../libraries/no-OS/drivers/api/no_os_gpio.c;../../../libraries/no-OS/drivers/api/no_os_spi.c;../../../libraries/no-OS/drivers/api/no_os_uart.c;../../../libraries/no-OS/drivers/api/no_os_irq.c;

[Others]
Define=_USE_STD_INT_TYPES;TINYIIOD_VERSION_MAJOR;TINYIIOD_VERSION_MINOR;TINYIIOD_VERSION_GIT;IIOD_BUFFER_SIZE;IIO_IGNORE_BUFF_OVERRUN_ERR;USE_PHY_COM_PORT;
156 changes: 156 additions & 0 deletions projects/ltc2672_iio/STM32/ltc2672_iio.ioc
Original file line number Diff line number Diff line change
@@ -0,0 +1,156 @@
#MicroXplorer Configuration settings - do not modify
CAD.formats=
CAD.pinconfig=
CAD.provider=
File.Version=6
GPIO.groupedBy=Group By Peripherals
KeepUserPlacement=false
Mcu.CPN=STM32F469NIH6
Mcu.Family=STM32F4
Mcu.IP0=I2C1
Mcu.IP1=NVIC
Mcu.IP2=RCC
Mcu.IP3=SPI1
Mcu.IP4=SYS
Mcu.IP5=UART5
Mcu.IPNb=6
Mcu.Name=STM32F469NIHx
Mcu.Package=TFBGA216
Mcu.Pin0=PB8
Mcu.Pin1=PB4
Mcu.Pin2=PB3
Mcu.Pin3=PC12
Mcu.Pin4=PB7
Mcu.Pin5=PD2
Mcu.Pin6=PH0/OSC_IN
Mcu.Pin7=PH1/OSC_OUT
Mcu.Pin8=PA7
Mcu.Pin9=VP_SYS_VS_Systick
Mcu.PinsNb=10
Mcu.ThirdPartyNb=0
Mcu.UserConstants=
Mcu.UserName=STM32F469NIHx
MxCube.Version=6.10.0
MxDb.Version=DB.6.0.100
NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
NVIC.ForceEnableDMAVector=true
NVIC.HardFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
NVIC.I2C1_ER_IRQn=true\:0\:0\:false\:false\:true\:true\:true\:true
NVIC.I2C1_EV_IRQn=true\:0\:0\:false\:false\:true\:true\:true\:true
NVIC.MemoryManagement_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
NVIC.NonMaskableInt_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
NVIC.PendSV_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
NVIC.PriorityGroup=NVIC_PRIORITYGROUP_4
NVIC.SVCall_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
NVIC.SysTick_IRQn=true\:15\:0\:false\:false\:true\:false\:true\:false
NVIC.UART5_IRQn=true\:0\:0\:false\:false\:true\:true\:true\:false
NVIC.UsageFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
PA7.Locked=true
PA7.Mode=Full_Duplex_Master
PA7.Signal=SPI1_MOSI
PB3.Mode=Full_Duplex_Master
PB3.Signal=SPI1_SCK
PB4.Mode=Full_Duplex_Master
PB4.Signal=SPI1_MISO
PB7.Locked=true
PB7.Mode=I2C
PB7.Signal=I2C1_SDA
PB8.Mode=I2C
PB8.Signal=I2C1_SCL
PC12.Mode=Asynchronous
PC12.Signal=UART5_TX
PD2.Mode=Asynchronous
PD2.Signal=UART5_RX
PH0/OSC_IN.Mode=HSE-External-Oscillator
PH0/OSC_IN.Signal=RCC_OSC_IN
PH1/OSC_OUT.Mode=HSE-External-Oscillator
PH1/OSC_OUT.Signal=RCC_OSC_OUT
PinOutPanel.CurrentBGAView=Top
PinOutPanel.RotationAngle=0
ProjectManager.AskForMigrate=true
ProjectManager.BackupPrevious=false
ProjectManager.CompilerOptimize=6
ProjectManager.ComputerToolchain=false
ProjectManager.CoupleFile=false
ProjectManager.CustomerFirmwarePackage=
ProjectManager.DefaultFWLocation=true
ProjectManager.DeletePrevious=true
ProjectManager.DeviceId=STM32F469NIHx
ProjectManager.FirmwarePackage=STM32Cube FW_F4 V1.27.1
ProjectManager.FreePins=false
ProjectManager.HalAssertFull=false
ProjectManager.HeapSize=0x200
ProjectManager.KeepUserCode=true
ProjectManager.LastFirmware=true
ProjectManager.LibraryCopy=1
ProjectManager.MainLocation=Core/Src
ProjectManager.NoMain=true
ProjectManager.PreviousToolchain=STM32CubeIDE
ProjectManager.ProjectBuild=false
ProjectManager.ProjectFileName=ltc2672_iio.ioc
ProjectManager.ProjectName=ltc2672_iio
ProjectManager.ProjectStructure=
ProjectManager.RegisterCallBack=TIM,UART
ProjectManager.StackSize=0x400
ProjectManager.TargetToolchain=STM32CubeIDE
ProjectManager.ToolChainLocation=
ProjectManager.UAScriptAfterPath=
ProjectManager.UAScriptBeforePath=
ProjectManager.UnderRoot=true
ProjectManager.functionlistsort=1-SystemClock_Config-RCC-false-HAL-false,2-MX_GPIO_Init-GPIO-false-HAL-false,3-MX_SPI1_Init-SPI1-false-HAL-false,4-MX_UART5_Init-UART5-false-HAL-false,5-MX_I2C1_Init-I2C1-false-HAL-false
RCC.AHBFreq_Value=180000000
RCC.APB1CLKDivider=RCC_HCLK_DIV4
RCC.APB1Freq_Value=45000000
RCC.APB1TimFreq_Value=90000000
RCC.APB2CLKDivider=RCC_HCLK_DIV4
RCC.APB2Freq_Value=45000000
RCC.APB2TimFreq_Value=90000000
RCC.CortexFreq_Value=180000000
RCC.DSIFreq_Value=20000000
RCC.DSITXEscFreq_Value=5000000
RCC.EthernetFreq_Value=180000000
RCC.FCLKCortexFreq_Value=180000000
RCC.FamilyName=M
RCC.HCLKFreq_Value=180000000
RCC.HSE_VALUE=8000000
RCC.I2SFreq_Value=192000000
RCC.IPParameters=AHBFreq_Value,APB1CLKDivider,APB1Freq_Value,APB1TimFreq_Value,APB2CLKDivider,APB2Freq_Value,APB2TimFreq_Value,CortexFreq_Value,DSIFreq_Value,DSITXEscFreq_Value,EthernetFreq_Value,FCLKCortexFreq_Value,FamilyName,HCLKFreq_Value,HSE_VALUE,I2SFreq_Value,LCDTFTFreq_Value,MCO2PinFreq_Value,PLLCLKFreq_Value,PLLDSIFreq_Value,PLLDSIVCOFreq_Value,PLLI2SQCLKFreq_Value,PLLI2SRCLKFreq_Value,PLLM,PLLN,PLLQCLKFreq_Value,PLLRCLKFreq_Value,PLLRFreq_Value,PLLSAIPCLKFreq_Value,PLLSAIQCLKFreq_Value,PLLSAIRCLKFreq_Value,PLLSourceVirtual,RTCFreq_Value,RTCHSEDivFreq_Value,SAIAFreq_Value,SAIBFreq_Value,SDIOFreq_Value,SYSCLKFreq_VALUE,SYSCLKSource,USBFreq_Value,VCOI2SOutputFreq_Value,VCOInputFreq_Value,VCOOutputFreq_Value,VCOSAIOutputFreq_Value
RCC.LCDTFTFreq_Value=96000000
RCC.MCO2PinFreq_Value=180000000
RCC.PLLCLKFreq_Value=180000000
RCC.PLLDSIFreq_Value=160000000
RCC.PLLDSIVCOFreq_Value=320000000
RCC.PLLI2SQCLKFreq_Value=96000000
RCC.PLLI2SRCLKFreq_Value=192000000
RCC.PLLM=4
RCC.PLLN=180
RCC.PLLQCLKFreq_Value=90000000
RCC.PLLRCLKFreq_Value=180000000
RCC.PLLRFreq_Value=180000000
RCC.PLLSAIPCLKFreq_Value=192000000
RCC.PLLSAIQCLKFreq_Value=96000000
RCC.PLLSAIRCLKFreq_Value=192000000
RCC.PLLSourceVirtual=RCC_PLLSOURCE_HSE
RCC.RTCFreq_Value=32000
RCC.RTCHSEDivFreq_Value=4000000
RCC.SAIAFreq_Value=96000000
RCC.SAIBFreq_Value=96000000
RCC.SDIOFreq_Value=90000000
RCC.SYSCLKFreq_VALUE=180000000
RCC.SYSCLKSource=RCC_SYSCLKSOURCE_PLLCLK
RCC.USBFreq_Value=90000000
RCC.VCOI2SOutputFreq_Value=384000000
RCC.VCOInputFreq_Value=2000000
RCC.VCOOutputFreq_Value=360000000
RCC.VCOSAIOutputFreq_Value=384000000
SPI1.CalculateBaudRate=22.5 MBits/s
SPI1.Direction=SPI_DIRECTION_2LINES
SPI1.IPParameters=VirtualType,Mode,Direction,CalculateBaudRate
SPI1.Mode=SPI_MODE_MASTER
SPI1.VirtualType=VM_MASTER
UART5.IPParameters=VirtualMode
UART5.VirtualMode=Asynchronous
VP_SYS_VS_Systick.Mode=SysTick
VP_SYS_VS_Systick.Signal=SYS_VS_Systick
board=custom
141 changes: 141 additions & 0 deletions projects/ltc2672_iio/app/app_config.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,141 @@
/***************************************************************************//**
* @file app_config.c
* @brief Application configurations module (platform-agnostic)
* @details This module performs the system configurations
********************************************************************************
* Copyright (c) 2023-24 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.
*******************************************************************************/

/******************************************************************************/
/***************************** Include Files **********************************/
/******************************************************************************/

#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_irq.h"

/******************************************************************************/
/************************ Macros/Constants ************************************/
/******************************************************************************/

/******************************************************************************/
/******************** Variables and User Defined Data Types *******************/
/******************************************************************************/

/* UART init parameters for IIO comm port */
struct no_os_uart_init_param uart_iio_comm_init_params = {
.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,
#if (ACTIVE_PLATFORM == STM32_PLATFORM)
.asynchronous_rx = true,
.irq_id = UART_IRQ_ID,
#endif
#if defined(USE_VIRTUAL_COM_PORT)
.platform_ops = &vcom_ops,
.extra = &vcom_extra_init_params
#else
.platform_ops = &uart_ops,
.extra = &uart_extra_init_params
#endif
};

/* UART init parameters for console comm port */
struct no_os_uart_init_param uart_console_stdio_init_params = {
.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,
#if defined(USE_VIRTUAL_COM_PORT)
/* If virtual com port is primary IIO comm port, use physical port for stdio
* console. Applications which does not support VCOM, should not satisfy this
* condition */
.platform_ops = &uart_ops,
.extra = &uart_extra_init_params
#else
#if defined(CONSOLE_STDIO_PORT_AVAILABLE)
/* Applications which uses phy COM port as primary IIO comm port,
* can use VCOM as console stdio port provided it is available.
* Else, alternative phy com port can be used for console stdio ops if available */
.platform_ops = &vcom_ops,
.extra = &vcom_extra_init_params
#endif
#endif
};

/* UART IIO Descriptor */
struct no_os_uart_desc *uart_iio_com_desc;

/* UART console descriptor */
struct no_os_uart_desc *uart_console_stdio_desc;

/******************************************************************************/
/************************** Functions Declarations ****************************/
/******************************************************************************/

/******************************************************************************/
/************************** Functions Definitions *****************************/
/******************************************************************************/

/**
* @brief Initialize the UART peripheral
* @return 0 in case of success, negative error code otherwise
*/
static int32_t init_uart(void)
{
int32_t ret;

ret = no_os_uart_init(&uart_iio_com_desc, &uart_iio_comm_init_params);
if (ret) {
return ret;
}

#if defined(CONSOLE_STDIO_PORT_AVAILABLE)
/* Initialize the serial link for console stdio communication */
ret = no_os_uart_init(&uart_console_stdio_desc,
&uart_console_stdio_init_params);
if (ret) {
return ret;
}
#endif

return 0;
}

/**
* @brief Initialize the system peripherals
* @return 0 in case of success, negative error code otherwise
*/
int32_t init_system(void)
{
int32_t ret;

#if (ACTIVE_PLATFORM == STM32_PLATFORM)
stm32_system_init();
#endif

ret = init_uart();
if (ret) {
return ret;
}

#if defined(USE_SDRAM)
ret = sdram_init();
if (ret) {
return ret;
}
#endif

return 0;
}
Loading

0 comments on commit 5110146

Please sign in to comment.