PLANET-Q ES920LR Library

Dependents:   IZU2020_GROUND_STATION IZU2020_AVIONICS IZU2020_AVIONICS

Files at this revision

API Documentation at this revision

Comitter:
tanahashi
Date:
Tue Dec 17 14:03:03 2019 +0000
Parent:
0:064d3711be83
Commit message:
added comment

Changed in this revision

PQES920LR.cpp Show annotated file Show diff for this revision Revisions of this file
PQES920LR.h Show annotated file Show diff for this revision Revisions of this file
--- a/PQES920LR.cpp	Tue Dec 17 09:06:01 2019 +0000
+++ b/PQES920LR.cpp	Tue Dec 17 14:03:03 2019 +0000
@@ -5,7 +5,7 @@
 {
     _serial = &serial;
     _serial->attach(callback(this, &ES920LR::receive), Serial::RxIrq);
-    memset(tx_buf, '\0', 52);    
+    memset(tx_buf, '\0', 52);
     memset(rx_buf, '\0', 52);
     index = 0;
     flag = 0;
@@ -25,7 +25,7 @@
     for (int i = 0; i < 1 + size; i++) {
         _serial->putc(tx_buf[i]);
     }
-    
+
     flag = 0;
     response = true;
 }
--- a/PQES920LR.h	Tue Dec 17 09:06:01 2019 +0000
+++ b/PQES920LR.h	Tue Dec 17 14:03:03 2019 +0000
@@ -1,7 +1,45 @@
 #ifndef PQES920LR_H
 #define PQES920LR_H
 
-class ES920LR {
+/**
+ * ES920LRのライブラリ
+ * @note 内部でシリアル受信割り込みを使用しています
+ * @note 適切な送信時間間隔を取ること
+ * @note attachで受信イベントハンドラを設定すること
+ * @code
+#include "mbed.h"
+#include "PQES920LR.h"
+
+Serial pc(USBTX, USBRX, 115200);
+Serial es_serial(p9, p10, 115200);
+
+ES920LR es(es_serial);
+
+char data[50];
+
+void on_receive(char *buff)
+{
+    for(int i = 0; i < 50; i++) {
+        pc.printf("%x ", buff[i]);
+    }
+}
+
+int main()
+{
+    es.attach(&on_receive);
+    for(int i = 0; i < 50; i++) {
+        data[i] = 0xFF;
+    }
+    while(1) {
+        es.send(data, 50);
+        wait(1);
+    }
+}
+ * @endcode
+ */
+
+class ES920LR
+{
 private:
     Serial *_serial;
     char tx_buf[52];
@@ -10,12 +48,24 @@
     int index;
     int flag;
     bool response;
-    
+
     void (*func)(char*);
-    
+
 public:
-    ES920LR(Serial &serial);
+    /**
+     * @param es_serial Serialのインスタンスへの参照
+     */
+    ES920LR(Serial &es_serial);
+
+    /**
+     * @param data 送信するバイナリデータの配列(最大50バイト)
+     * @param size 送信するバイナリデータのサイズ
+     */
     void send(char *data, int size);
+
+    /**
+     * @param func_ptr 受信時に呼ばれる関数へのポインタ、引数に受信データを受け取る
+     */
     void attach(void(*func_ptr)(char*));
 
 private: