git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@5029 35acf78f-673a-0410-8e92-d51de3d6d3f4

master
gdisirio 2013-01-04 09:38:41 +00:00
parent c95f632a67
commit 66205faf65
6 changed files with 66 additions and 13 deletions

View File

@ -19,11 +19,13 @@
*/
#include "ch.hpp"
#include "fs.hpp"
#include "hal.h"
#include "fs.hpp"
#include "fatfs_fsimpl.hpp"
#include "test.h"
using namespace chibios_rt;
using namespace chibios_fatfs;
/*
* LED blink sequences.
@ -149,6 +151,8 @@ static SequencerThread blinker2(LED4_sequence);
static SequencerThread blinker3(LED5_sequence);
static SequencerThread blinker4(LED6_sequence);
static FatFSWrapper fs(NULL);
/*
* Application entry point.
*/

View File

@ -36,6 +36,9 @@
#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.
*/
@ -51,11 +54,11 @@ namespace chibios_fatfs {
start(FATFS_THREAD_PRIORITY);
}
FatFSWrapper::FatFSServerThread::~FatFSServerThread() {
/* FatFSWrapper::FatFSServerThread::~FatFSServerThread() {
sendMessage(MSG_TERMINATE);
wait();
}
}*/
msg_t FatFSWrapper::FatFSServerThread::main() {
msg_t sts;
@ -84,9 +87,47 @@ namespace chibios_fatfs {
server.start(FATFS_THREAD_PRIORITY);
}
FatFSWrapper::~FatFSWrapper() {
/* FatFSWrapper::~FatFSWrapper() {
server.~FatFSServerThread();
}*/
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;
}
}

View File

@ -27,6 +27,7 @@
*/
#include "ch.hpp"
#include "fs.hpp"
#include "hal.h"
#ifndef _FS_FATFS_IMPL_HPP_
@ -47,6 +48,7 @@
#endif
using namespace chibios_rt;
using namespace chibios_fs;
/**
* @brief FatFS wrapper-related classes and interfaces.
@ -71,13 +73,17 @@ namespace chibios_fatfs {
virtual msg_t main(void);
public:
FatFSServerThread(::BaseBlockDevice *blkdev);
~FatFSServerThread();
} server;
public:
FatFSWrapper(::BaseBlockDevice *blkdev);
~FatFSWrapper();
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);
};
}

View File

@ -123,11 +123,6 @@ namespace chibios_fs {
*/
class BaseFileSystemInterface {
public:
/**
* @brief File system unmount and object destruction.
*/
virtual ~BaseFileSystemInterface() = 0;
/**
* @brief Returns an implementation dependent error code.
*

View File

@ -279,6 +279,14 @@ namespace chibios_rt {
chThdYield();
}
#if CH_USE_MESSAGES
ThreadReference BaseThread::waitMessage(void) {
ThreadReference tr(chMsgWait());
return tr;
}
#endif /* CH_USE_MESSAGES */
#if CH_USE_EVENTS
eventmask_t BaseThread::getAndClearEvents(eventmask_t mask) {

View File

@ -385,7 +385,6 @@ namespace chibios_rt {
*/
class BaseThread : public ThreadReference {
public:
/**
* @brief BaseThread constructor.
*