PLANET-Q ES920LR Library
Dependents: IZU2020_GROUND_STATION IZU2020_AVIONICS IZU2020_AVIONICS
Diff: PQES920LR.h
- 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: