projects
/
bertos.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix two errors introduced by previous commit.
[bertos.git]
/
drv
/
ser.c
diff --git
a/drv/ser.c
b/drv/ser.c
index ec3d87b1e9dd9f7090e4dee8b075082f0953ac70..4e1235c39ec7d48d01e53951ec1f0d951b1a359d 100755
(executable)
--- a/
drv/ser.c
+++ b/
drv/ser.c
@@
-1,7
+1,7
@@
/*!
* \file
* <!--
/*!
* \file
* <!--
- * Copyright 2003,2004 Develer S.r.l. (http://www.develer.com/)
+ * Copyright 2003,
2004 Develer S.r.l. (http://www.develer.com/)
* Copyright 2000 Bernardo Innocenti <bernie@codewiz.org>
* This file is part of DevLib - See devlib/README for information.
* -->
* Copyright 2000 Bernardo Innocenti <bernie@codewiz.org>
* This file is part of DevLib - See devlib/README for information.
* -->
@@
-28,6
+28,12
@@
/*
* $Log$
/*
* $Log$
+ * Revision 1.7 2004/07/18 21:49:03 bernie
+ * Make CONFIG_SER_DEFBAUDRATE optional.
+ *
+ * Revision 1.6 2004/06/07 15:56:28 aleph
+ * Remove cast-as-lvalue extension abuse
+ *
* Revision 1.5 2004/06/06 16:41:44 bernie
* ser_putchar(): Use fifo_push_locked() to fix potential race on 8bit processors.
*
* Revision 1.5 2004/06/06 16:41:44 bernie
* ser_putchar(): Use fifo_push_locked() to fix potential race on 8bit processors.
*
@@
-254,12
+260,16
@@
int ser_print(struct Serial *port, const char *s)
* \brief Write a buffer to serial.
*
* \return 0 if OK, EOF in case of error.
* \brief Write a buffer to serial.
*
* \return 0 if OK, EOF in case of error.
+ *
+ * \todo Optimize with fifo_pushblock()
*/
*/
-int ser_write(struct Serial *port, const void *buf, size_t len)
+int ser_write(struct Serial *port, const void *
_
buf, size_t len)
{
{
+ const char *buf = _buf;
+
while (len--)
{
while (len--)
{
- if (ser_putchar(*
((const char *)buf)
++, port) == EOF)
+ if (ser_putchar(*
buf
++, port) == EOF)
return EOF;
}
return 0;
return EOF;
}
return 0;
@@
-340,7
+350,9
@@
struct Serial *ser_open(unsigned int unit)
#if defined(CONFIG_SER_RXTIMEOUT) || defined(CONFIG_SER_TXTIMEOUT)
ser_settimeouts(port, CONFIG_SER_RXTIMEOUT, CONFIG_SER_TXTIMEOUT);
#endif
#if defined(CONFIG_SER_RXTIMEOUT) || defined(CONFIG_SER_TXTIMEOUT)
ser_settimeouts(port, CONFIG_SER_RXTIMEOUT, CONFIG_SER_TXTIMEOUT);
#endif
+#if defined(CONFIG_SER_DEFBAUDRATE)
ser_setbaudrate(port, CONFIG_SER_DEFBAUDRATE);
ser_setbaudrate(port, CONFIG_SER_DEFBAUDRATE);
+#endif
return port;
}
return port;
}