PLANET-Q ES920LR Library

Dependents:   IZU2020_GROUND_STATION IZU2020_AVIONICS IZU2020_AVIONICS

Revision:
1:a5114a32febe
Parent:
0:064d3711be83
--- 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: