Myserial Library extends RawSerial

Files at this revision

API Documentation at this revision

Comitter:
naao
Date:
Sun Jun 22 08:43:09 2014 +0000
Child:
1:e2cfd512c977
Commit message:
1st commit of MySerial extends RawSerial

Changed in this revision

MySerial.cpp Show annotated file Show diff for this revision Revisions of this file
MySerial.h Show annotated file Show diff for this revision Revisions of this file
mbed.bld Show annotated file Show diff for this revision Revisions of this file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/MySerial.cpp	Sun Jun 22 08:43:09 2014 +0000
@@ -0,0 +1,41 @@
+#include "MySerial.h"
+
+MySerial::MySerial(PinName USBTX,PinName USBRX):RawSerial(USBTX,USBRX)          //constructor
+{
+}
+
+int MySerial::GetString(int size, char *cWord)            //by pointer
+{
+    int i=0;
+    int ichar;
+    memset(cWord, '\0', strlen(cWord));  //initialise chars
+
+    while(1) {
+        if(!readable())    {
+            break;
+        }
+        ichar = getc();
+        if(i<size) {
+            cWord[i] =ichar;
+            //pc->putc(ichar);
+        }
+        i++;
+        wait(0.01);
+    }
+    return 0;
+}
+
+int MySerial::GetString(char size, char (&cWord)[16])       //by ref : override function
+{
+    return GetString((int)size, &cWord[0]);
+}
+
+int MySerial::GetString(char size, char (&cWord)[256])      //by ref : override function
+{
+    return GetString((int)size, &cWord[0]);
+}
+
+int MySerial::GetString(char size, char (&cWord)[1024])     //by ref : override function
+{
+    return GetString((int)size, &cWord[0]);
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/MySerial.h	Sun Jun 22 08:43:09 2014 +0000
@@ -0,0 +1,83 @@
+/** mbed Serial Library extend RawSerial
+ * Copyright (c) 2014 Naoki Okino
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ */
+#ifndef MBED_MYSERIAL_H
+#define MBED_MYSERIAL_H
+
+#include "mbed.h"
+
+/** MySerial control class, based on a RawSerial
+ *
+ * Example:
+ * @code
+ * #include "mbed.h"
+ * #include "MySerial.h"
+ * 
+ * MySerial pc(USBTX,USBRX);   //instance of MySerial Class
+ * char cWord[16]; //receive chars  or cWord[256], cWord[1024] etc..
+ * 
+ * void readbuf()
+ * {
+ *   // int iRtn =  pc->GetString(6,pCword);    //Serial received chars by pointer cWord
+ *    int iRtn =  pc->GetString((char)6,cWord); //Serial received chars byref of cWord
+ * }
+ * int main() {
+ *    pc.attach( readbuf, MySerial::RxIrq );    //Set Interrupt by Serial receive
+ * }
+ * @endcode
+ */
+class MySerial : public RawSerial{
+    
+public:
+    /** get chars received by serial
+     * 
+     * @param PinName USBTX
+     * @param PinName USBRX
+     */
+    MySerial(PinName USBTX, PinName USBRX);
+   
+    /** function to get chars after received shars by serial
+     * 
+     * @param int size for get chars
+     * @param *cWord returns got chars by pointer
+     * @param returns success by 0
+     */
+    virtual int GetString(int size, char *cWord);
+    
+    /** override function to get chars after received shars by serial
+     * 
+     * @param int size for get chars
+     * @param (&cWord)[16] returns got chars by ref
+     * @param returns success by 0
+     */
+    virtual int GetString(char size, char (&cWord)[16]);
+
+    /** override function to get chars after received shars by serial
+     * 
+     * @param int size for get chars
+     * @param (&cWord)[256] returns got chars by ref
+     * @param returns success by 0
+     */
+    virtual int GetString(char size, char (&cWord)[256]);
+
+    /** override function to get chars after received shars by serial
+     * 
+     * @param int size for get chars
+     * @param (&cWord)[1024] returns got chars by ref
+     * @param returns success by 0
+     */
+    virtual int GetString(char size, char (&cWord)[1024]);
+
+protected:
+
+};
+
+#endif
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed.bld	Sun Jun 22 08:43:09 2014 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/mbed_official/code/mbed/builds/024bf7f99721
\ No newline at end of file