PLANET-Q ES920LR Library
Dependents: IZU2020_GROUND_STATION IZU2020_AVIONICS IZU2020_AVIONICS
Revision 1:a5114a32febe, committed 2019-12-17
- 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: