From 0d96f5c78e54d267ef1ca230fe20af1ca090e1d6 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 16 Jun 2013 12:21:30 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/branches/kernel_3_dev@5859 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- os/fs/fatfs/fatfs_fsimpl.cpp | 210 ------------------------------------------- os/fs/fatfs/fatfs_fsimpl.hpp | 154 ------------------------------- os/fs/fs.hpp | 198 ---------------------------------------- 3 files changed, 562 deletions(-) delete mode 100644 os/fs/fatfs/fatfs_fsimpl.cpp delete mode 100644 os/fs/fatfs/fatfs_fsimpl.hpp delete mode 100644 os/fs/fs.hpp (limited to 'os/fs') diff --git a/os/fs/fatfs/fatfs_fsimpl.cpp b/os/fs/fatfs/fatfs_fsimpl.cpp deleted file mode 100644 index 567c7544a..000000000 --- a/os/fs/fatfs/fatfs_fsimpl.cpp +++ /dev/null @@ -1,210 +0,0 @@ -/* - ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010, - 2011,2012,2013 Giovanni Di Sirio. - - This file is part of ChibiOS/RT. - - ChibiOS/RT 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/RT 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 . -*/ -/** - * @file fs_fatfs_impl.cpp - * @brief FatFS file system wrapper. - * - * @addtogroup fs_fatfs_wrapper - * @{ - */ - -#include "ch.hpp" -#include "fs.hpp" -#include "fatfs_fsimpl.hpp" -#include "hal.h" - -#define MSG_TERMINATE (msg_t)0 - -#define ERR_OK (msg_t)0 -#define ERR_TERMINATING (msg_t)1 -#define ERR_UNKNOWN_MSG (msg_t)2 - -using namespace chibios_rt; -using namespace chibios_fs; - -/** - * @brief FatFS wrapper-related classes and interfaces. - */ -namespace chibios_fatfs { - - typedef struct { - uint32_t msg_code; - union { - struct { - - }; - } op; - } wmsg_t; - - /*------------------------------------------------------------------------* - * chibios_fatfs::FatFSFileWrapper * - *------------------------------------------------------------------------*/ - FatFSFileWrapper::FatFSFileWrapper(void) : fs(NULL) { - - } - - FatFSFileWrapper::FatFSFileWrapper(FatFSWrapper *fsref) : fs(fsref) { - - } - - size_t FatFSFileWrapper::write(const uint8_t *bp, size_t n) { - - return 0; - } - - size_t FatFSFileWrapper::read(uint8_t *bp, size_t n) { - - return 0; - } - - msg_t FatFSFileWrapper::put(uint8_t b) { - - return 0; - } - - msg_t FatFSFileWrapper::get(void) { - - return 0; - } - - uint32_t FatFSFileWrapper::getAndClearLastError(void) { - - return 0; - } - - fileoffset_t FatFSFileWrapper::getSize(void) { - - return 0; - } - - fileoffset_t FatFSFileWrapper::getPosition(void) { - - return 0; - } - - uint32_t FatFSFileWrapper::setPosition(fileoffset_t offset) { - - return 0; - } - - /*------------------------------------------------------------------------* - * chibios_fatfs::FatFSFilesPool * - *------------------------------------------------------------------------*/ - FatFSFilesPool::FatFSFilesPool(void) : ObjectsPool() { - - } - - /*------------------------------------------------------------------------* - * chibios_fatfs::FatFSServerThread * - *------------------------------------------------------------------------*/ - FatFSServerThread::FatFSServerThread(void) : - BaseStaticThread() { - } - - msg_t FatFSServerThread::main() { - msg_t sts; - - setName("fatfs"); - - /* Synchronous messages processing loop.*/ - while (true) { - ThreadReference tr = waitMessage(); - msg_t msg = tr.getMessage(); - switch (msg) { - case MSG_TERMINATE: - /* The server object is being destroyed, terminating.*/ - tr.releaseMessage(ERR_TERMINATING); - return 0; - default: - sts = ERR_UNKNOWN_MSG; - } - tr.releaseMessage(sts); - } - } - - void FatFSServerThread::stop(void) { - - sendMessage(MSG_TERMINATE); - wait(); - } - - /*------------------------------------------------------------------------* - * chibios_fatfs::FatFSWrapper * - *------------------------------------------------------------------------*/ - FatFSWrapper::FatFSWrapper(void) { - - } - - void FatFSWrapper::mount(void) { - - server.start(FATFS_THREAD_PRIORITY); - } - - void FatFSWrapper::unmount(void) { - - server.stop(); - } - - uint32_t FatFSWrapper::getAndClearLastError(void) { - - return 0; - } - - void FatFSWrapper::synchronize(void) { - - } - - void FatFSWrapper::remove(const char *fname) { - - (void)fname; - } - - BaseFileStreamInterface *FatFSWrapper::open(const char *fname) { - - (void)fname; - return NULL; - } - - BaseFileStreamInterface *FatFSWrapper::openForRead(const char *fname) { - - (void)fname; - return NULL; - } - - BaseFileStreamInterface *FatFSWrapper::openForWrite(const char *fname) { - - (void)fname; - return NULL; - } - - BaseFileStreamInterface *FatFSWrapper::create(const char *fname) { - - (void)fname; - return NULL; - } - - void FatFSWrapper::close(BaseFileStreamInterface *file) { - - (void)file; - } -} - -/** @} */ diff --git a/os/fs/fatfs/fatfs_fsimpl.hpp b/os/fs/fatfs/fatfs_fsimpl.hpp deleted file mode 100644 index 0993a7917..000000000 --- a/os/fs/fatfs/fatfs_fsimpl.hpp +++ /dev/null @@ -1,154 +0,0 @@ -/* - ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010, - 2011,2012,2013 Giovanni Di Sirio. - - This file is part of ChibiOS/RT. - - ChibiOS/RT 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/RT 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 . -*/ - -/** - * @file fs_fatfs_impl.hpp - * @brief FatFS file system wrapper header. - * - * @addtogroup cpp_library - * @{ - */ - -#include "ch.hpp" -#include "fs.hpp" - -#ifndef _FS_FATFS_IMPL_HPP_ -#define _FS_FATFS_IMPL_HPP_ - -/** - * @brief Stack size for the internal server thread. - */ -#if !defined(FATFS_THREAD_STACK_SIZE) || defined(__DOXYGEN__) -#define FATFS_THREAD_STACK_SIZE 1024 -#endif - -/** - * @brief Priority for the internal server thread. - */ -#if !defined(FATFS_THREAD_PRIORITY) || defined(__DOXYGEN__) -#define FATFS_THREAD_PRIORITY NORMALPRIO -#endif - -/** - * @brief Maximum number of open files. - */ -#if !defined(FATFS_MAX_FILES) || defined(__DOXYGEN__) -#define FATFS_MAX_FILES 16 -#endif - -using namespace chibios_rt; -using namespace chibios_fs; - -/** - * @brief FatFS wrapper-related classes and interfaces. - */ -namespace chibios_fatfs { - - class FatFSWrapper; - - /*------------------------------------------------------------------------* - * chibios_fatfs::FatFSFileWrapper * - *------------------------------------------------------------------------*/ - class FatFSFileWrapper : public BaseFileStreamInterface { - friend class FatFSWrapper; - - protected: - FatFSWrapper *fs; - - public: - FatFSFileWrapper(void); - FatFSFileWrapper(FatFSWrapper *fsref); - - virtual size_t write(const uint8_t *bp, size_t n); - virtual size_t read(uint8_t *bp, size_t n); - virtual msg_t put(uint8_t b); - virtual msg_t get(void); - virtual uint32_t getAndClearLastError(void); - virtual fileoffset_t getSize(void); - virtual fileoffset_t getPosition(void); - virtual uint32_t setPosition(fileoffset_t offset); - }; - - /*------------------------------------------------------------------------* - * chibios_fatfs::FatFSFilesPool * - *------------------------------------------------------------------------*/ - /** - * @brief Class of memory pool of @p FatFSFileWrapper objects. - */ - class FatFSFilesPool : public ObjectsPool { - public: - FatFSFilesPool(void); - }; - - /*------------------------------------------------------------------------* - * chibios_fatfs::FatFSServerThread * - *------------------------------------------------------------------------*/ - /** - * @brief Class of the internal server thread. - */ - class FatFSServerThread : public BaseStaticThread { - private: - FatFSFilesPool files; - protected: - virtual msg_t main(void); - public: - FatFSServerThread(void); - virtual void stop(void); - }; - - /*------------------------------------------------------------------------* - * chibios_fatfs::FatFSWrapper * - *------------------------------------------------------------------------*/ - /** - * @brief Class of the FatFS wrapper. - */ - class FatFSWrapper : public chibios_fs::BaseFileSystemInterface { - friend class FatFSFileWrapper; - - protected: - FatFSServerThread server; - - public: - FatFSWrapper(void); - virtual uint32_t getAndClearLastError(void); - virtual void synchronize(void); - virtual void remove(const char *fname); - virtual BaseFileStreamInterface *open(const char *fname); - virtual BaseFileStreamInterface *openForRead(const char *fname); - virtual BaseFileStreamInterface *openForWrite(const char *fname); - virtual BaseFileStreamInterface *create(const char *fname); - virtual void close(BaseFileStreamInterface *file); - - /** - * @brief Mounts the file system. - */ - void mount(void); - - /** - * @brief Unmounts the file system. - */ - void unmount(void); - }; -} - -#endif /* _FS_FATFS_IMPL_HPP_ */ - -/** @} */ diff --git a/os/fs/fs.hpp b/os/fs/fs.hpp deleted file mode 100644 index 6a9bd6a5b..000000000 --- a/os/fs/fs.hpp +++ /dev/null @@ -1,198 +0,0 @@ -/* - ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010, - 2011,2012,2013 Giovanni Di Sirio. - - This file is part of ChibiOS/RT. - - ChibiOS/RT 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/RT 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 . -*/ - -/** - * @file fs.hpp - * @brief File System interfaces header. - * - * @addtogroup fs_interface - * @{ - */ - -#ifndef _FS_HPP_ -#define _FS_HPP_ - -#include "ch.hpp" - -/** - * @name Error codes - * @{ - */ -/** - * @brief No error return code. - */ -#define FILE_OK 0 - -/** - * @brief Error code from the file stream methods. - */ -#define FILE_ERROR 0xFFFFFFFFUL -/** @} */ - -/** - * @brief ChibiOS FS-related interfaces. - */ -namespace chibios_fs { - - /** - * @brief File offset type. - */ - typedef uint32_t fileoffset_t; - - /*------------------------------------------------------------------------* - * chibios_fs::BaseFileStreamInterface * - *------------------------------------------------------------------------*/ - /** - * @brief Interface of an abstract file object. - */ - class BaseFileStreamInterface : public chibios_rt::BaseSequentialStreamInterface { - public: - /** - * @brief Returns an implementation dependent error code. - * - * @return An implementation-dependent error code. - * - * @api - */ - virtual uint32_t getAndClearLastError(void) = 0; - - /** - * @brief Returns the current file size. - * - * @return The file size. - * @retval FILE_ERROR if the operation failed. - * - * @api - */ - virtual fileoffset_t getSize(void) = 0; - - /** - * @brief Returns the current file pointer position. - * - * @return The current position inside the file. - * @retval FILE_ERROR if the operation failed. - * - * @api - */ - virtual fileoffset_t getPosition(void) = 0; - - /** - * @brief sets the current file pointer position. - * - * @param[in] offset new absolute position - * @return The operation status. - * @retval FILE_OK if no error. - * @retval FILE_ERROR if the operation failed. - * - * @api - */ - virtual uint32_t setPosition(fileoffset_t offset) = 0; - }; - - /*------------------------------------------------------------------------* - * chibios_fs::BaseFileSystemInterface * - *------------------------------------------------------------------------*/ - /** - * @brief Interface of an abstract file system object. - * @note The interface only exposes common features, the implementing - * classes can offer an extended interface. - */ - class BaseFileSystemInterface { - public: - /** - * @brief Returns an implementation dependent error code. - * - * @return An implementation-dependent error code. - * - * @api - */ - virtual uint32_t getAndClearLastError(void) = 0; - - /** - * @brief Synchronizes caches with media device. - */ - virtual void synchronize(void) = 0; - - /** - * @brief Removes a file. - * - * @param[in] fname file name - * - * @api - */ - virtual void remove(const char *fname) = 0; - - /** - * @brief Opens a file for read and write. - * - * @param[in] fname file name - * @return An interface of a file object. - * @retval NULL if the operation failed. - * - * @api - */ - virtual BaseFileStreamInterface *open(const char *fname) = 0; - - /** - * @brief Opens a file for read only. - * - * @param[in] fname file name - * @return An interface of a file object. - * @retval NULL if the operation failed. - * - * @api - */ - virtual BaseFileStreamInterface *openForRead(const char *fname) = 0; - - /** - * @brief Opens a file for write only. - * - * @param[in] fname file name - * @return An interface of a file object. - * @retval NULL if the operation failed. - * - * @api - */ - virtual BaseFileStreamInterface *openForWrite(const char *fname) = 0; - - /** - * @brief Creates a file and opens it for write only. - * @details If a file with the same name already exists then it is - * overwritten. - * - * @param[in] fname file name - * @return An interface of a file object. - * @retval NULL if the operation failed. - * - * @api - */ - virtual BaseFileStreamInterface *create(const char *fname) = 0; - - /** - * @brief Closes a file. - * - * @api - */ - virtual void close(BaseFileStreamInterface *file) = 0; - }; -} -#endif /* _FS_HPP_ */ - -/** @} */ -- cgit v1.2.3