From: qwert Date: Mon, 4 Aug 2008 15:36:54 +0000 (+0000) Subject: Refactor KFileSerial to SerialKFile. Tested and working. X-Git-Tag: 2.0.0~395 X-Git-Url: https://codewiz.org/gitweb?a=commitdiff_plain;h=21f92eace872a7e12382cff9aa6e3364f25857aa;p=bertos.git Refactor KFileSerial to SerialKFile. Tested and working. git-svn-id: https://src.develer.com/svnoss/bertos/trunk@1539 38d2e660-2303-0410-9eaa-f027e97ec537 --- diff --git a/app/at91sam7s/at91sam7s.c b/app/at91sam7s/at91sam7s.c index 29cd9907..76991a0d 100644 --- a/app/at91sam7s/at91sam7s.c +++ b/app/at91sam7s/at91sam7s.c @@ -46,7 +46,7 @@ #include Timer leds_timer; -KFileSerial ser_fd; +SerialKFile ser_fd; static void leds_toggle(void) { diff --git a/app/triface/boot/main.c b/app/triface/boot/main.c index 478ebcd8..0a236cb8 100644 --- a/app/triface/boot/main.c +++ b/app/triface/boot/main.c @@ -64,7 +64,7 @@ int main(void) { FlashAvrKFile flash; - KFileSerial ser; + SerialKFile ser; // Set up flash programming functions. diff --git a/app/triface/triface.c b/app/triface/triface.c index 2c590ab7..0aeb6ba6 100644 --- a/app/triface/triface.c +++ b/app/triface/triface.c @@ -58,8 +58,8 @@ -static KFileSerial fd_ser; -static KFileSerial tag_ser; +static SerialKFile fd_ser; +static SerialKFile tag_ser; int main(void) { diff --git a/bertos/drv/dataflash_test.c b/bertos/drv/dataflash_test.c index d8b05610..0774f084 100644 --- a/bertos/drv/dataflash_test.c +++ b/bertos/drv/dataflash_test.c @@ -95,7 +95,7 @@ /* * Kfile structure to test a dataflash. */ -static KFileSerial spi_fd; +static SerialKFile spi_fd; static KFileDataflash dflash_fd; /* diff --git a/bertos/drv/ser.c b/bertos/drv/ser.c index c9193e1a..c2d6565f 100644 --- a/bertos/drv/ser.c +++ b/bertos/drv/ser.c @@ -192,7 +192,7 @@ static int ser_getchar(struct Serial *port) * EOF immediatly. * \note Deprecated, use ser_getchar with rx_timeout set to 0. */ -int ser_getchar_nowait(struct KFileSerial *fd) +int ser_getchar_nowait(struct SerialKFile *fd) { if (fifo_isempty_locked(&fd->ser->rxfifo)) return EOF; @@ -210,7 +210,7 @@ int ser_getchar_nowait(struct KFileSerial *fd) */ static size_t ser_read(struct KFile *fd, void *_buf, size_t size) { - KFileSerial *fds = KFILESERIAL(fd); + SerialKFile *fds = SERIALKFILE(fd); size_t i = 0; char *buf = (char *)_buf; @@ -235,7 +235,7 @@ static size_t ser_read(struct KFile *fd, void *_buf, size_t size) */ static size_t ser_write(struct KFile *fd, const void *_buf, size_t size) { - KFileSerial *fds = KFILESERIAL(fd); + SerialKFile *fds = SERIALKFILE(fd); const char *buf = (const char *)_buf; size_t i = 0; @@ -250,7 +250,7 @@ static size_t ser_write(struct KFile *fd, const void *_buf, size_t size) #if CONFIG_SER_RXTIMEOUT != -1 || CONFIG_SER_TXTIMEOUT != -1 -void ser_settimeouts(struct KFileSerial *fd, mtime_t rxtimeout, mtime_t txtimeout) +void ser_settimeouts(struct SerialKFile *fd, mtime_t rxtimeout, mtime_t txtimeout) { fd->ser->rxtimeout = ms_to_ticks(rxtimeout); fd->ser->txtimeout = ms_to_ticks(txtimeout); @@ -266,7 +266,7 @@ void ser_settimeouts(struct KFileSerial *fd, mtime_t rxtimeout, mtime_t txtimeou * * \note Serial errors are reset before and after executing the purge. */ -void ser_resync(struct KFileSerial *fd, mtime_t delay) +void ser_resync(struct SerialKFile *fd, mtime_t delay) { mtime_t old_rxtimeout = ticks_to_ms(fd->ser->rxtimeout); @@ -285,26 +285,26 @@ void ser_resync(struct KFileSerial *fd, mtime_t delay) #endif /* CONFIG_SER_RXTIMEOUT */ -void ser_setbaudrate(struct KFileSerial *fd, unsigned long rate) +void ser_setbaudrate(struct SerialKFile *fd, unsigned long rate) { fd->ser->hw->table->setBaudrate(fd->ser->hw, rate); } -void ser_setparity(struct KFileSerial *fd, int parity) +void ser_setparity(struct SerialKFile *fd, int parity) { fd->ser->hw->table->setParity(fd->ser->hw, parity); } static int ser_error(struct KFile *fd) { - KFileSerial *fds = KFILESERIAL(fd); + SerialKFile *fds = SERIALKFILE(fd); return ser_getstatus(fds->ser); } static void ser_clearerr(struct KFile *fd) { - KFileSerial *fds = KFILESERIAL(fd); + SerialKFile *fds = SERIALKFILE(fd); ser_setstatus(fds->ser, 0); } @@ -313,7 +313,7 @@ static void ser_clearerr(struct KFile *fd) /** * Flush both the RX and TX buffers. */ -void ser_purge(struct KFileSerial *fd) +void ser_purge(struct SerialKFile *fd) { ser_purgeRx(fd); ser_purgeTx(fd); @@ -322,7 +322,7 @@ void ser_purge(struct KFileSerial *fd) /** * Flush RX buffer. */ -void ser_purgeRx(struct KFileSerial *fd) +void ser_purgeRx(struct SerialKFile *fd) { fifo_flush_locked(&fd->ser->rxfifo); } @@ -330,7 +330,7 @@ void ser_purgeRx(struct KFileSerial *fd) /** * Flush TX buffer. */ -void ser_purgeTx(struct KFileSerial *fd) +void ser_purgeTx(struct SerialKFile *fd) { fifo_flush_locked(&fd->ser->txfifo); } @@ -346,7 +346,7 @@ void ser_purgeTx(struct KFileSerial *fd) */ static int ser_flush(struct KFile *fd) { - KFileSerial *fds = KFILESERIAL(fd); + SerialKFile *fds = SERIALKFILE(fd); /* * Wait until the FIFO becomes empty, and then until the byte currently in @@ -371,7 +371,7 @@ static int ser_flush(struct KFile *fd) * \param fd KFile Serial struct interface. * \param unit Serial unit to open. Possible values are architecture dependant. */ -static struct Serial *ser_open(struct KFileSerial *fd, unsigned int unit) +static struct Serial *ser_open(struct SerialKFile *fd, unsigned int unit) { struct Serial *port; @@ -414,7 +414,7 @@ static struct Serial *ser_open(struct KFileSerial *fd, unsigned int unit) */ static int ser_close(struct KFile *fd) { - KFileSerial *fds = KFILESERIAL(fd); + SerialKFile *fds = SERIALKFILE(fd); Serial *port = fds->ser; ASSERT(port->is_open); @@ -439,7 +439,7 @@ static int ser_close(struct KFile *fd) */ static struct KFile *ser_reopen(struct KFile *fd) { - KFileSerial *fds = KFILESERIAL(fd); + SerialKFile *fds = SERIALKFILE(fd); ser_close(fd); ser_open(fds, fds->ser->unit); @@ -449,7 +449,7 @@ static struct KFile *ser_reopen(struct KFile *fd) /** * Init serial driver for \a unit. */ -void ser_init(struct KFileSerial *fds, unsigned int unit) +void ser_init(struct SerialKFile *fds, unsigned int unit) { memset(fds, 0, sizeof(*fds)); @@ -472,7 +472,7 @@ void ser_init(struct KFileSerial *fds, unsigned int unit) */ static size_t spimaster_read(struct KFile *fd, void *_buf, size_t size) { - KFileSerial *fd_spi = KFILESERIAL(fd); + SerialKFile *fd_spi = SERIALKFILE(fd); ser_flush(&fd_spi->fd); ser_purgeRx(fd_spi); @@ -503,7 +503,7 @@ static size_t spimaster_read(struct KFile *fd, void *_buf, size_t size) */ static size_t spimaster_write(struct KFile *fd, const void *buf, size_t size) { - KFileSerial *fd_spi = KFILESERIAL(fd); + SerialKFile *fd_spi = SERIALKFILE(fd); ser_purgeRx(fd_spi); @@ -522,7 +522,7 @@ static size_t spimaster_write(struct KFile *fd, const void *buf, size_t size) * we have to discard all incoming data. Then, when we want to * receive, we must write fake data to SPI to trigger slave devices. */ -void spimaster_init(KFileSerial *fds, unsigned int unit) +void spimaster_init(SerialKFile *fds, unsigned int unit) { ser_init(fds, unit); fds->fd.read = spimaster_read; diff --git a/bertos/drv/ser.h b/bertos/drv/ser.h index bd25b010..c77053e4 100644 --- a/bertos/drv/ser.h +++ b/bertos/drv/ser.h @@ -152,11 +152,11 @@ typedef struct Serial struct SerialHardware* hw; } Serial; -typedef struct KFileSerial +typedef struct SerialKFile { KFile fd; Serial *ser; -} KFileSerial; +} SerialKFile; /** * ID for serial. @@ -164,26 +164,26 @@ typedef struct KFileSerial #define KFT_SERIAL MAKE_ID('S', 'E', 'R', 'L') -INLINE KFileSerial * KFILESERIAL(KFile *fd) +INLINE SerialKFile * SERIALKFILE(KFile *fd) { ASSERT(fd->_type == KFT_SERIAL); - return (KFileSerial *)fd; + return (SerialKFile *)fd; } /* Function prototypes */ //extern int ser_getchar_nowait(struct Serial *port); -void ser_setbaudrate(struct KFileSerial *fd, unsigned long rate); -void ser_setparity(struct KFileSerial *fd, int parity); -void ser_settimeouts(struct KFileSerial *fd, mtime_t rxtimeout, mtime_t txtimeout); -void ser_resync(struct KFileSerial *fd, mtime_t delay); -int ser_getchar_nowait(struct KFileSerial *fd); - -void ser_purgeRx(struct KFileSerial *fd); -void ser_purgeTx(struct KFileSerial *fd); -void ser_purge(struct KFileSerial *fd); -void ser_init(struct KFileSerial *fds, unsigned int unit); -void spimaster_init(KFileSerial *fds, unsigned int unit); +void ser_setbaudrate(struct SerialKFile *fd, unsigned long rate); +void ser_setparity(struct SerialKFile *fd, int parity); +void ser_settimeouts(struct SerialKFile *fd, mtime_t rxtimeout, mtime_t txtimeout); +void ser_resync(struct SerialKFile *fd, mtime_t delay); +int ser_getchar_nowait(struct SerialKFile *fd); + +void ser_purgeRx(struct SerialKFile *fd); +void ser_purgeTx(struct SerialKFile *fd); +void ser_purge(struct SerialKFile *fd); +void ser_init(struct SerialKFile *fds, unsigned int unit); +void spimaster_init(SerialKFile *fds, unsigned int unit); /** diff --git a/bertos/kern/kfile.h b/bertos/kern/kfile.h index 0fbfcd3b..1f352699 100644 --- a/bertos/kern/kfile.h +++ b/bertos/kern/kfile.h @@ -43,20 +43,20 @@ * you have to declare your context structure: * * \code - * typedef struct KFileSerial + * typedef struct SerialKFile * { * KFile fd; * Serial *ser; - * } KFileSerial; + * } SerialKFile; * \endcode * - * You should also supply a macro for casting KFile to KFileSerial: + * You should also supply a macro for casting KFile to SerialKFile: * * \code - * INLINE KFileSerial * KFILESERIAL(KFile *fd) + * INLINE SerialKFile * SERIALKFILE(KFile *fd) * { * ASSERT(fd->_type == KFT_SERIAL); - * return (KFileSerial *)fd; + * return (SerialKFile *)fd; * } * \endcode * @@ -67,12 +67,12 @@ * \code * static int ser_kfile_close(struct KFile *fd) * { - * KFileSerial *fds = KFILESERIAL(fd); + * SerialKFile *fds = SerialKFile(fd); * ser_close(fds->ser); * return 0; * } * \endcode - * KFILESERIAL macro helps to ensure that obj passed is really a Serial. + * SerialKFile macro helps to ensure that obj passed is really a Serial. * * KFile interface do not supply the open function: this is deliberate, * because in embedded systems each device has its own init parameters. diff --git a/bertos/net/xmodem.c b/bertos/net/xmodem.c index bf017457..424b8a66 100644 --- a/bertos/net/xmodem.c +++ b/bertos/net/xmodem.c @@ -88,7 +88,7 @@ * * \note This function allocates a large amount of stack (\see XM_BUFSIZE). */ -bool xmodem_recv(struct KFileSerial *port, KFile *fd) +bool xmodem_recv(struct SerialKFile *port, KFile *fd) { char block_buffer[XM_BUFSIZE]; /* Buffer to hold a block of data */ int c, i, blocksize; @@ -308,7 +308,7 @@ bool xmodem_recv(struct KFileSerial *port, KFile *fd) * \note This function allocates a large amount of stack for * the XModem transfer buffer (\see XM_BUFSIZE). */ -bool xmodem_send(struct KFileSerial *port, KFile *fd) +bool xmodem_send(struct SerialKFile *port, KFile *fd) { char block_buffer[XM_BUFSIZE]; /* Buffer to hold a block of data */ size_t size = -1; diff --git a/bertos/net/xmodem.h b/bertos/net/xmodem.h index 580e088d..5a4a1540 100644 --- a/bertos/net/xmodem.h +++ b/bertos/net/xmodem.h @@ -66,9 +66,9 @@ /* fwd decl */ -struct KFileSerial; +struct SerialKFile; -bool xmodem_recv(struct KFileSerial *port, KFile *fd); -bool xmodem_send(struct KFileSerial *port, KFile *fd); +bool xmodem_recv(struct SerialKFile *port, KFile *fd); +bool xmodem_send(struct SerialKFile *port, KFile *fd); #endif /* MWARE_XMODEM_H */