diff --git a/demos/STM32/RT-STM32G474RE-NUCLEO64-SB_HOST_DYNAMIC/cfg/vfsconf.h b/demos/STM32/RT-STM32G474RE-NUCLEO64-SB_HOST_DYNAMIC/cfg/vfsconf.h index 79891ae04..7e2f63495 100644 --- a/demos/STM32/RT-STM32G474RE-NUCLEO64-SB_HOST_DYNAMIC/cfg/vfsconf.h +++ b/demos/STM32/RT-STM32G474RE-NUCLEO64-SB_HOST_DYNAMIC/cfg/vfsconf.h @@ -1,5 +1,5 @@ /* - ChibiOS - Copyright (C) 2006..2020 Giovanni Di Sirio + ChibiOS - Copyright (C) 2006..2024 Giovanni Di Sirio Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -86,6 +86,13 @@ #define VFS_CFG_ENABLE_DRV_FATFS FALSE #endif +/** + * @brief Enables the VFS LittleFS Driver. + */ +#if !defined(VFS_CFG_ENABLE_DRV_LITTLEFS) || defined(__DOXYGEN__) +#define VFS_CFG_ENABLE_DRV_LITTLEFS TRUE +#endif + /** @} */ /*===========================================================================*/ @@ -164,6 +171,36 @@ /** @} */ +/*===========================================================================*/ +/** + * @name LittleFS driver settings + * @{ + */ +/*===========================================================================*/ + +/** + * @brief Number of shared path buffers. + */ +#if !defined(DRV_CFG_LITTLEFS_DIR_NODES_NUM) || defined(__DOXYGEN__) +#define DRV_CFG_LITTLEFS_DIR_NODES_NUM 2 +#endif + +/** + * @brief Number of file nodes pre-allocated in the pool. + */ +#if !defined(DRV_CFG_LITTLEFS_FILE_NODES_NUM) || defined(__DOXYGEN__) +#define DRV_CFG_LITTLEFS_FILE_NODES_NUM 2 +#endif + +/** + * @brief Number of info nodes pre-allocated in the pool. + */ +#if !defined(DRV_CFG_LITTLEFS_INFO_NODES_NUM) || defined(__DOXYGEN__) +#define DRV_CFG_LITTLEFS_INFO_NODES_NUM 1 +#endif + +/** @} */ + #endif /* VFSCONF_H */ /** @} */ diff --git a/demos/STM32/RT-STM32G474RE-NUCLEO64-SB_HOST_STATIC/cfg/vfsconf.h b/demos/STM32/RT-STM32G474RE-NUCLEO64-SB_HOST_STATIC/cfg/vfsconf.h index 79891ae04..7e2f63495 100644 --- a/demos/STM32/RT-STM32G474RE-NUCLEO64-SB_HOST_STATIC/cfg/vfsconf.h +++ b/demos/STM32/RT-STM32G474RE-NUCLEO64-SB_HOST_STATIC/cfg/vfsconf.h @@ -1,5 +1,5 @@ /* - ChibiOS - Copyright (C) 2006..2020 Giovanni Di Sirio + ChibiOS - Copyright (C) 2006..2024 Giovanni Di Sirio Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -86,6 +86,13 @@ #define VFS_CFG_ENABLE_DRV_FATFS FALSE #endif +/** + * @brief Enables the VFS LittleFS Driver. + */ +#if !defined(VFS_CFG_ENABLE_DRV_LITTLEFS) || defined(__DOXYGEN__) +#define VFS_CFG_ENABLE_DRV_LITTLEFS TRUE +#endif + /** @} */ /*===========================================================================*/ @@ -164,6 +171,36 @@ /** @} */ +/*===========================================================================*/ +/** + * @name LittleFS driver settings + * @{ + */ +/*===========================================================================*/ + +/** + * @brief Number of shared path buffers. + */ +#if !defined(DRV_CFG_LITTLEFS_DIR_NODES_NUM) || defined(__DOXYGEN__) +#define DRV_CFG_LITTLEFS_DIR_NODES_NUM 2 +#endif + +/** + * @brief Number of file nodes pre-allocated in the pool. + */ +#if !defined(DRV_CFG_LITTLEFS_FILE_NODES_NUM) || defined(__DOXYGEN__) +#define DRV_CFG_LITTLEFS_FILE_NODES_NUM 2 +#endif + +/** + * @brief Number of info nodes pre-allocated in the pool. + */ +#if !defined(DRV_CFG_LITTLEFS_INFO_NODES_NUM) || defined(__DOXYGEN__) +#define DRV_CFG_LITTLEFS_INFO_NODES_NUM 1 +#endif + +/** @} */ + #endif /* VFSCONF_H */ /** @} */ diff --git a/demos/STM32/RT-STM32H563ZI-NUCLEO144-SB_HOST_DYNAMIC/cfg/vfsconf.h b/demos/STM32/RT-STM32H563ZI-NUCLEO144-SB_HOST_DYNAMIC/cfg/vfsconf.h index 79891ae04..7e2f63495 100644 --- a/demos/STM32/RT-STM32H563ZI-NUCLEO144-SB_HOST_DYNAMIC/cfg/vfsconf.h +++ b/demos/STM32/RT-STM32H563ZI-NUCLEO144-SB_HOST_DYNAMIC/cfg/vfsconf.h @@ -1,5 +1,5 @@ /* - ChibiOS - Copyright (C) 2006..2020 Giovanni Di Sirio + ChibiOS - Copyright (C) 2006..2024 Giovanni Di Sirio Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -86,6 +86,13 @@ #define VFS_CFG_ENABLE_DRV_FATFS FALSE #endif +/** + * @brief Enables the VFS LittleFS Driver. + */ +#if !defined(VFS_CFG_ENABLE_DRV_LITTLEFS) || defined(__DOXYGEN__) +#define VFS_CFG_ENABLE_DRV_LITTLEFS TRUE +#endif + /** @} */ /*===========================================================================*/ @@ -164,6 +171,36 @@ /** @} */ +/*===========================================================================*/ +/** + * @name LittleFS driver settings + * @{ + */ +/*===========================================================================*/ + +/** + * @brief Number of shared path buffers. + */ +#if !defined(DRV_CFG_LITTLEFS_DIR_NODES_NUM) || defined(__DOXYGEN__) +#define DRV_CFG_LITTLEFS_DIR_NODES_NUM 2 +#endif + +/** + * @brief Number of file nodes pre-allocated in the pool. + */ +#if !defined(DRV_CFG_LITTLEFS_FILE_NODES_NUM) || defined(__DOXYGEN__) +#define DRV_CFG_LITTLEFS_FILE_NODES_NUM 2 +#endif + +/** + * @brief Number of info nodes pre-allocated in the pool. + */ +#if !defined(DRV_CFG_LITTLEFS_INFO_NODES_NUM) || defined(__DOXYGEN__) +#define DRV_CFG_LITTLEFS_INFO_NODES_NUM 1 +#endif + +/** @} */ + #endif /* VFSCONF_H */ /** @} */ diff --git a/demos/STM32/RT-STM32L4R9-DISCOVERY-SB_HOST_DYNAMIC_RAMBOX/cfg/vfsconf.h b/demos/STM32/RT-STM32L4R9-DISCOVERY-SB_HOST_DYNAMIC_RAMBOX/cfg/vfsconf.h index 34a1ca635..39de412a6 100644 --- a/demos/STM32/RT-STM32L4R9-DISCOVERY-SB_HOST_DYNAMIC_RAMBOX/cfg/vfsconf.h +++ b/demos/STM32/RT-STM32L4R9-DISCOVERY-SB_HOST_DYNAMIC_RAMBOX/cfg/vfsconf.h @@ -1,5 +1,5 @@ /* - ChibiOS - Copyright (C) 2006..2020 Giovanni Di Sirio + ChibiOS - Copyright (C) 2006..2024 Giovanni Di Sirio Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -86,6 +86,13 @@ #define VFS_CFG_ENABLE_DRV_FATFS TRUE #endif +/** + * @brief Enables the VFS LittleFS Driver. + */ +#if !defined(VFS_CFG_ENABLE_DRV_LITTLEFS) || defined(__DOXYGEN__) +#define VFS_CFG_ENABLE_DRV_LITTLEFS TRUE +#endif + /** @} */ /*===========================================================================*/ @@ -164,6 +171,36 @@ /** @} */ +/*===========================================================================*/ +/** + * @name LittleFS driver settings + * @{ + */ +/*===========================================================================*/ + +/** + * @brief Number of shared path buffers. + */ +#if !defined(DRV_CFG_LITTLEFS_DIR_NODES_NUM) || defined(__DOXYGEN__) +#define DRV_CFG_LITTLEFS_DIR_NODES_NUM 2 +#endif + +/** + * @brief Number of file nodes pre-allocated in the pool. + */ +#if !defined(DRV_CFG_LITTLEFS_FILE_NODES_NUM) || defined(__DOXYGEN__) +#define DRV_CFG_LITTLEFS_FILE_NODES_NUM 2 +#endif + +/** + * @brief Number of info nodes pre-allocated in the pool. + */ +#if !defined(DRV_CFG_LITTLEFS_INFO_NODES_NUM) || defined(__DOXYGEN__) +#define DRV_CFG_LITTLEFS_INFO_NODES_NUM 1 +#endif + +/** @} */ + #endif /* VFSCONF_H */ /** @} */ diff --git a/demos/STM32/RT-VFS-FATFS/cfg/stm32f407zg_olimex/vfsconf.h b/demos/STM32/RT-VFS-FATFS/cfg/stm32f407zg_olimex/vfsconf.h index 34a1ca635..39de412a6 100644 --- a/demos/STM32/RT-VFS-FATFS/cfg/stm32f407zg_olimex/vfsconf.h +++ b/demos/STM32/RT-VFS-FATFS/cfg/stm32f407zg_olimex/vfsconf.h @@ -1,5 +1,5 @@ /* - ChibiOS - Copyright (C) 2006..2020 Giovanni Di Sirio + ChibiOS - Copyright (C) 2006..2024 Giovanni Di Sirio Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -86,6 +86,13 @@ #define VFS_CFG_ENABLE_DRV_FATFS TRUE #endif +/** + * @brief Enables the VFS LittleFS Driver. + */ +#if !defined(VFS_CFG_ENABLE_DRV_LITTLEFS) || defined(__DOXYGEN__) +#define VFS_CFG_ENABLE_DRV_LITTLEFS TRUE +#endif + /** @} */ /*===========================================================================*/ @@ -164,6 +171,36 @@ /** @} */ +/*===========================================================================*/ +/** + * @name LittleFS driver settings + * @{ + */ +/*===========================================================================*/ + +/** + * @brief Number of shared path buffers. + */ +#if !defined(DRV_CFG_LITTLEFS_DIR_NODES_NUM) || defined(__DOXYGEN__) +#define DRV_CFG_LITTLEFS_DIR_NODES_NUM 2 +#endif + +/** + * @brief Number of file nodes pre-allocated in the pool. + */ +#if !defined(DRV_CFG_LITTLEFS_FILE_NODES_NUM) || defined(__DOXYGEN__) +#define DRV_CFG_LITTLEFS_FILE_NODES_NUM 2 +#endif + +/** + * @brief Number of info nodes pre-allocated in the pool. + */ +#if !defined(DRV_CFG_LITTLEFS_INFO_NODES_NUM) || defined(__DOXYGEN__) +#define DRV_CFG_LITTLEFS_INFO_NODES_NUM 1 +#endif + +/** @} */ + #endif /* VFSCONF_H */ /** @} */ diff --git a/demos/STM32/RT-VFS-FATFS/cfg/stm32f769ni_discovery/vfsconf.h b/demos/STM32/RT-VFS-FATFS/cfg/stm32f769ni_discovery/vfsconf.h index 34a1ca635..39de412a6 100644 --- a/demos/STM32/RT-VFS-FATFS/cfg/stm32f769ni_discovery/vfsconf.h +++ b/demos/STM32/RT-VFS-FATFS/cfg/stm32f769ni_discovery/vfsconf.h @@ -1,5 +1,5 @@ /* - ChibiOS - Copyright (C) 2006..2020 Giovanni Di Sirio + ChibiOS - Copyright (C) 2006..2024 Giovanni Di Sirio Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -86,6 +86,13 @@ #define VFS_CFG_ENABLE_DRV_FATFS TRUE #endif +/** + * @brief Enables the VFS LittleFS Driver. + */ +#if !defined(VFS_CFG_ENABLE_DRV_LITTLEFS) || defined(__DOXYGEN__) +#define VFS_CFG_ENABLE_DRV_LITTLEFS TRUE +#endif + /** @} */ /*===========================================================================*/ @@ -164,6 +171,36 @@ /** @} */ +/*===========================================================================*/ +/** + * @name LittleFS driver settings + * @{ + */ +/*===========================================================================*/ + +/** + * @brief Number of shared path buffers. + */ +#if !defined(DRV_CFG_LITTLEFS_DIR_NODES_NUM) || defined(__DOXYGEN__) +#define DRV_CFG_LITTLEFS_DIR_NODES_NUM 2 +#endif + +/** + * @brief Number of file nodes pre-allocated in the pool. + */ +#if !defined(DRV_CFG_LITTLEFS_FILE_NODES_NUM) || defined(__DOXYGEN__) +#define DRV_CFG_LITTLEFS_FILE_NODES_NUM 2 +#endif + +/** + * @brief Number of info nodes pre-allocated in the pool. + */ +#if !defined(DRV_CFG_LITTLEFS_INFO_NODES_NUM) || defined(__DOXYGEN__) +#define DRV_CFG_LITTLEFS_INFO_NODES_NUM 1 +#endif + +/** @} */ + #endif /* VFSCONF_H */ /** @} */ diff --git a/demos/STM32/RT-VFS-FATFS/cfg/stm32g474re_nucleo64/vfsconf.h b/demos/STM32/RT-VFS-FATFS/cfg/stm32g474re_nucleo64/vfsconf.h index 34a1ca635..39de412a6 100644 --- a/demos/STM32/RT-VFS-FATFS/cfg/stm32g474re_nucleo64/vfsconf.h +++ b/demos/STM32/RT-VFS-FATFS/cfg/stm32g474re_nucleo64/vfsconf.h @@ -1,5 +1,5 @@ /* - ChibiOS - Copyright (C) 2006..2020 Giovanni Di Sirio + ChibiOS - Copyright (C) 2006..2024 Giovanni Di Sirio Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -86,6 +86,13 @@ #define VFS_CFG_ENABLE_DRV_FATFS TRUE #endif +/** + * @brief Enables the VFS LittleFS Driver. + */ +#if !defined(VFS_CFG_ENABLE_DRV_LITTLEFS) || defined(__DOXYGEN__) +#define VFS_CFG_ENABLE_DRV_LITTLEFS TRUE +#endif + /** @} */ /*===========================================================================*/ @@ -164,6 +171,36 @@ /** @} */ +/*===========================================================================*/ +/** + * @name LittleFS driver settings + * @{ + */ +/*===========================================================================*/ + +/** + * @brief Number of shared path buffers. + */ +#if !defined(DRV_CFG_LITTLEFS_DIR_NODES_NUM) || defined(__DOXYGEN__) +#define DRV_CFG_LITTLEFS_DIR_NODES_NUM 2 +#endif + +/** + * @brief Number of file nodes pre-allocated in the pool. + */ +#if !defined(DRV_CFG_LITTLEFS_FILE_NODES_NUM) || defined(__DOXYGEN__) +#define DRV_CFG_LITTLEFS_FILE_NODES_NUM 2 +#endif + +/** + * @brief Number of info nodes pre-allocated in the pool. + */ +#if !defined(DRV_CFG_LITTLEFS_INFO_NODES_NUM) || defined(__DOXYGEN__) +#define DRV_CFG_LITTLEFS_INFO_NODES_NUM 1 +#endif + +/** @} */ + #endif /* VFSCONF_H */ /** @} */ diff --git a/demos/STM32/RT-VFS-FATFS/cfg/stm32h735ig_discovery/vfsconf.h b/demos/STM32/RT-VFS-FATFS/cfg/stm32h735ig_discovery/vfsconf.h index 34a1ca635..39de412a6 100644 --- a/demos/STM32/RT-VFS-FATFS/cfg/stm32h735ig_discovery/vfsconf.h +++ b/demos/STM32/RT-VFS-FATFS/cfg/stm32h735ig_discovery/vfsconf.h @@ -1,5 +1,5 @@ /* - ChibiOS - Copyright (C) 2006..2020 Giovanni Di Sirio + ChibiOS - Copyright (C) 2006..2024 Giovanni Di Sirio Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -86,6 +86,13 @@ #define VFS_CFG_ENABLE_DRV_FATFS TRUE #endif +/** + * @brief Enables the VFS LittleFS Driver. + */ +#if !defined(VFS_CFG_ENABLE_DRV_LITTLEFS) || defined(__DOXYGEN__) +#define VFS_CFG_ENABLE_DRV_LITTLEFS TRUE +#endif + /** @} */ /*===========================================================================*/ @@ -164,6 +171,36 @@ /** @} */ +/*===========================================================================*/ +/** + * @name LittleFS driver settings + * @{ + */ +/*===========================================================================*/ + +/** + * @brief Number of shared path buffers. + */ +#if !defined(DRV_CFG_LITTLEFS_DIR_NODES_NUM) || defined(__DOXYGEN__) +#define DRV_CFG_LITTLEFS_DIR_NODES_NUM 2 +#endif + +/** + * @brief Number of file nodes pre-allocated in the pool. + */ +#if !defined(DRV_CFG_LITTLEFS_FILE_NODES_NUM) || defined(__DOXYGEN__) +#define DRV_CFG_LITTLEFS_FILE_NODES_NUM 2 +#endif + +/** + * @brief Number of info nodes pre-allocated in the pool. + */ +#if !defined(DRV_CFG_LITTLEFS_INFO_NODES_NUM) || defined(__DOXYGEN__) +#define DRV_CFG_LITTLEFS_INFO_NODES_NUM 1 +#endif + +/** @} */ + #endif /* VFSCONF_H */ /** @} */ diff --git a/demos/STM32/RT-VFS-FATFS/cfg/stm32l4r9ai_discovery/vfsconf.h b/demos/STM32/RT-VFS-FATFS/cfg/stm32l4r9ai_discovery/vfsconf.h index 34a1ca635..39de412a6 100644 --- a/demos/STM32/RT-VFS-FATFS/cfg/stm32l4r9ai_discovery/vfsconf.h +++ b/demos/STM32/RT-VFS-FATFS/cfg/stm32l4r9ai_discovery/vfsconf.h @@ -1,5 +1,5 @@ /* - ChibiOS - Copyright (C) 2006..2020 Giovanni Di Sirio + ChibiOS - Copyright (C) 2006..2024 Giovanni Di Sirio Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -86,6 +86,13 @@ #define VFS_CFG_ENABLE_DRV_FATFS TRUE #endif +/** + * @brief Enables the VFS LittleFS Driver. + */ +#if !defined(VFS_CFG_ENABLE_DRV_LITTLEFS) || defined(__DOXYGEN__) +#define VFS_CFG_ENABLE_DRV_LITTLEFS TRUE +#endif + /** @} */ /*===========================================================================*/ @@ -164,6 +171,36 @@ /** @} */ +/*===========================================================================*/ +/** + * @name LittleFS driver settings + * @{ + */ +/*===========================================================================*/ + +/** + * @brief Number of shared path buffers. + */ +#if !defined(DRV_CFG_LITTLEFS_DIR_NODES_NUM) || defined(__DOXYGEN__) +#define DRV_CFG_LITTLEFS_DIR_NODES_NUM 2 +#endif + +/** + * @brief Number of file nodes pre-allocated in the pool. + */ +#if !defined(DRV_CFG_LITTLEFS_FILE_NODES_NUM) || defined(__DOXYGEN__) +#define DRV_CFG_LITTLEFS_FILE_NODES_NUM 2 +#endif + +/** + * @brief Number of info nodes pre-allocated in the pool. + */ +#if !defined(DRV_CFG_LITTLEFS_INFO_NODES_NUM) || defined(__DOXYGEN__) +#define DRV_CFG_LITTLEFS_INFO_NODES_NUM 1 +#endif + +/** @} */ + #endif /* VFSCONF_H */ /** @} */ diff --git a/tools/ftl/processors/conf/vfsconf/vfsconf.h.ftl b/tools/ftl/processors/conf/vfsconf/vfsconf.h.ftl new file mode 100644 index 000000000..3893972a8 --- /dev/null +++ b/tools/ftl/processors/conf/vfsconf/vfsconf.h.ftl @@ -0,0 +1,217 @@ +[#ftl] +[#-- + ChibiOS - Copyright (C) 2006..2018 Giovanni Di Sirio. + + This file is part of ChibiOS. + + ChibiOS is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + ChibiOS is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + --] +[@pp.dropOutputFile /] +[#import "/@lib/libutils.ftl" as utils /] +[#import "/@lib/liblicense.ftl" as license /] +[@pp.changeOutputFile name="vfsconf.h" /] +/* +[@license.EmitLicenseAsText /] +*/ + +/** + * @file templates/vfsconf.h + * @brief VFS configuration header. + * + * @addtogroup VFS_CONF + * @{ + */ + +#ifndef VFSCONF_H +#define VFSCONF_H + +#define _CHIBIOS_VFS_CONF_ +#define _CHIBIOS_VFS_CONF_VER_1_0_ + +/*===========================================================================*/ +/** + * @name VFS general settings + * @{ + */ +/*===========================================================================*/ + +/** + * @brief Maximum filename length. + */ +#if !defined(VFS_CFG_NAMELEN_MAX) || defined(__DOXYGEN__) +#define VFS_CFG_NAMELEN_MAX ${doc.VFS_CFG_NAMELEN_MAX!"15"} +#endif + +/** + * @brief Maximum paths length. + */ +#if !defined(VFS_CFG_PATHLEN_MAX) || defined(__DOXYGEN__) +#define VFS_CFG_PATHLEN_MAX ${doc.VFS_CFG_PATHLEN_MAX!"1023"} +#endif + +/** + * @brief Number of shared path buffers. + */ +#if !defined(VFS_CFG_PATHBUFS_NUM) || defined(__DOXYGEN__) +#define VFS_CFG_PATHBUFS_NUM ${doc.VFS_CFG_PATHBUFS_NUM!"1"} +#endif + +/** @} */ + +/*===========================================================================*/ +/** + * @name VFS drivers + * @{ + */ +/*===========================================================================*/ + +/** + * @brief Enables the VFS Overlay Driver. + */ +#if !defined(VFS_CFG_ENABLE_DRV_OVERLAY) || defined(__DOXYGEN__) +#define VFS_CFG_ENABLE_DRV_OVERLAY ${doc.VFS_CFG_ENABLE_DRV_OVERLAY!"TRUE"} +#endif + +/** + * @brief Enables the VFS Streams Driver. + */ +#if !defined(VFS_CFG_ENABLE_DRV_STREAMS) || defined(__DOXYGEN__) +#define VFS_CFG_ENABLE_DRV_STREAMS ${doc.VFS_CFG_ENABLE_DRV_STREAMS!"TRUE"} +#endif + +/** + * @brief Enables the VFS FatFS Driver. + */ +#if !defined(VFS_CFG_ENABLE_DRV_FATFS) || defined(__DOXYGEN__) +#define VFS_CFG_ENABLE_DRV_FATFS ${doc.VFS_CFG_ENABLE_DRV_FATFS!"TRUE"} +#endif + +/** + * @brief Enables the VFS LittleFS Driver. + */ +#if !defined(VFS_CFG_ENABLE_DRV_LITTLEFS) || defined(__DOXYGEN__) +#define VFS_CFG_ENABLE_DRV_LITTLEFS ${doc.VFS_CFG_ENABLE_DRV_LITTLEFS!"TRUE"} +#endif + +/** @} */ + +/*===========================================================================*/ +/** + * @name Overlay driver settings + * @{ + */ +/*===========================================================================*/ + +/** + * @brief Maximum number of overlay directories. + */ +#if !defined(DRV_CFG_OVERLAY_DRV_MAX) || defined(__DOXYGEN__) +#define DRV_CFG_OVERLAY_DRV_MAX 2 +#endif + +/** + * @brief Number of directory nodes pre-allocated in the pool. + */ +#if !defined(DRV_CFG_OVERLAY_NODES_NUM) || defined(__DOXYGEN__) +#define DRV_CFG_OVERLAY_DIR_NODES_NUM 1 +#endif + +/** @} */ + +/*===========================================================================*/ +/** + * @name Streams driver settings + * @{ + */ +/*===========================================================================*/ + +/** + * @brief Number of directory nodes pre-allocated in the pool. + */ +#if !defined(DRV_CFG_STREAMS_DIR_NODES_NUM) || defined(__DOXYGEN__) +#define DRV_CFG_STREAMS_DIR_NODES_NUM 1 +#endif + +/** + * @brief Number of file nodes pre-allocated in the pool. + */ +#if !defined(DRV_CFG_STREAMS_FILE_NODES_NUM) || defined(__DOXYGEN__) +#define DRV_CFG_STREAMS_FILE_NODES_NUM 2 +#endif + +/** @} */ + +/*===========================================================================*/ +/** + * @name FatFS driver settings + * @{ + */ +/*===========================================================================*/ + +/** + * @brief Maximum number of FatFS file systems mounted. + */ +#if !defined(DRV_CFG_FATFS_FS_NUM) || defined(__DOXYGEN__) +#define DRV_CFG_FATFS_FS_NUM 1 +#endif + +/** + * @brief Number of directory nodes pre-allocated in the pool. + */ +#if !defined(DRV_CFG_FATFS_DIR_NODES_NUM) || defined(__DOXYGEN__) +#define DRV_CFG_FATFS_DIR_NODES_NUM 1 +#endif + +/** + * @brief Number of file nodes pre-allocated in the pool. + */ +#if !defined(DRV_CFG_FATFS_FILE_NODES_NUM) || defined(__DOXYGEN__) +#define DRV_CFG_FATFS_FILE_NODES_NUM 2 +#endif + +/** @} */ + +/*===========================================================================*/ +/** + * @name LittleFS driver settings + * @{ + */ +/*===========================================================================*/ + +/** + * @brief Number of shared path buffers. + */ +#if !defined(DRV_CFG_LITTLEFS_DIR_NODES_NUM) || defined(__DOXYGEN__) +#define DRV_CFG_LITTLEFS_DIR_NODES_NUM ${doc.DRV_CFG_LITTLEFS_DIR_NODES_NUM!"2"} +#endif + +/** + * @brief Number of file nodes pre-allocated in the pool. + */ +#if !defined(DRV_CFG_LITTLEFS_FILE_NODES_NUM) || defined(__DOXYGEN__) +#define DRV_CFG_LITTLEFS_FILE_NODES_NUM ${doc.DRV_CFG_LITTLEFS_FILE_NODES_NUM!"2"} +#endif + +/** + * @brief Number of info nodes pre-allocated in the pool. + */ +#if !defined(DRV_CFG_LITTLEFS_INFO_NODES_NUM) || defined(__DOXYGEN__) +#define DRV_CFG_LITTLEFS_INFO_NODES_NUM ${doc.DRV_CFG_LITTLEFS_INFO_NODES_NUM!"1"} +#endif + +/** @} */ + +#endif /* VFSCONF_H */ + +/** @} */ diff --git a/tools/updater/halconf.h b/tools/updater/halconf.h new file mode 100644 index 000000000..71fe44185 --- /dev/null +++ b/tools/updater/halconf.h @@ -0,0 +1,85 @@ +/* + ChibiOS - Copyright (C) 2006..2024 Giovanni Di Sirio + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*/ + +/** + * @file sb/templates/sbconf.h + * @brief Configuration file template. + * @details A copy of this file must be placed in each project directory, it + * contains the application specific kernel settings. + * + * @addtogroup SB_CONFIG + * @details Sandboxes-related settings and hooks. + * @{ + */ + +#ifndef SBCONF_H +#define SBCONF_H + +#define __CHIBIOS_SB_CONF__ +#define __CHIBIOS_SB_CONF_VER_3_0__ + +/** + * @brief Sandboxes privileged stack size. + */ +#if !defined(SB_CFG_PRIVILEGED_STACK_SIZE) || defined(__DOXYGEN__) +#define SB_CFG_PRIVILEGED_STACK_SIZE 512 +#endif + +/** + * @brief Number of memory regions for each sandbox. + */ +#if !defined(SB_CFG_NUM_REGIONS) || defined(__DOXYGEN__) +#define SB_CFG_NUM_REGIONS 2 +#endif + +/** + * @brief Enables support for sandbox Virtual IRQs. + */ +#if !defined(SB_CFG_ENABLE_VRQ) || defined(__DOXYGEN__) +#define SB_CFG_ENABLE_VRQ TRUE +#endif + +/** + * @brief Virtual IRQ to be used for alarm. + */ +#if !defined(SB_CFG_ALARM_VRQ) || defined(__DOXYGEN__) +#define SB_CFG_ALARM_VRQ 0 +#endif + +/** + * @brief Enables support for sandbox virtualized I/O. + */ +#if !defined(SB_CFG_ENABLE_VIO) || defined(__DOXYGEN__) +#define SB_CFG_ENABLE_VIO TRUE +#endif + +/** + * @brief Enables Posix API in sandboxes using VFS. + */ +#if !defined(SB_CFG_ENABLE_VFS) || defined(__DOXYGEN__) +#define SB_CFG_ENABLE_VFS TRUE +#endif + +/** + * @brief Number of file descriptors for each sandbox. + */ +#if !defined(SB_CFG_FD_NUM) || defined(__DOXYGEN__) +#define SB_CFG_FD_NUM 12 +#endif + +#endif /* SBCONF_H */ + +/** @} */ diff --git a/tools/updater/update_vfsconf.sh b/tools/updater/update_vfsconf.sh new file mode 100644 index 000000000..885cd8dff --- /dev/null +++ b/tools/updater/update_vfsconf.sh @@ -0,0 +1,29 @@ +#!/bin/bash +if [ $# -eq 2 ] + then + if [ $1 = "rootpath" ] + then + find $2 -name "vfsconf.h" -exec bash update_vfsconf.sh "{}" \; + else + echo "Usage: vfsconf.sh [rootpath ]" + fi +elif [ $# -eq 1 ] +then + declare conffile=$(<$1) +# if egrep -q "" <<< "$conffile" +# then + echo Processing: $1 + egrep -e "\#define\s+[a-zA-Z0-9_]*\s+[a-zA-Z0-9_]" <<< "$conffile" | sed 's/\#define //g; s/ */=/g' > ./values.txt + if ! fmpp -q -C conf.fmpp -S ../ftl/processors/conf/vfsconf + then + echo + echo "aborted" + exit 1 + fi + cp ./vfsconf.h $1 + rm ./vfsconf.h ./values.txt +# fi +else + echo "Usage: update_vfsconf.sh [rootpath ]" + echo " update_vfsconf.sh ]" +fi