waaaa

Dependencies:   mbed

Committer:
M_souta
Date:
Thu Nov 07 11:15:29 2019 +0000
Revision:
1:9b6f10b4bc71
Parent:
0:cb29cf2767cd
ver2.0.1

Who changed what in which revision?

UserRevisionLine numberNew contents of line
M_souta 0:cb29cf2767cd 1 /*
M_souta 0:cb29cf2767cd 2 * RingBuffer.h
M_souta 0:cb29cf2767cd 3 *
M_souta 0:cb29cf2767cd 4 * Created: 2016/08/10 12:15:08
M_souta 0:cb29cf2767cd 5 * Author: masuk
M_souta 0:cb29cf2767cd 6 */
M_souta 0:cb29cf2767cd 7
M_souta 0:cb29cf2767cd 8
M_souta 0:cb29cf2767cd 9 #ifndef RINGBUFFER_H_
M_souta 0:cb29cf2767cd 10 #define RINGBUFFER_H_
M_souta 0:cb29cf2767cd 11
M_souta 0:cb29cf2767cd 12 #include <stdint.h>
M_souta 0:cb29cf2767cd 13
M_souta 0:cb29cf2767cd 14 namespace RINGBUFFER
M_souta 0:cb29cf2767cd 15 {
M_souta 0:cb29cf2767cd 16 //循環型バッファ 使用するバッファの配列と大きさを指定してください
M_souta 0:cb29cf2767cd 17 class RingBuffer
M_souta 0:cb29cf2767cd 18 {
M_souta 0:cb29cf2767cd 19 struct
M_souta 0:cb29cf2767cd 20 {
M_souta 0:cb29cf2767cd 21 char *data;
M_souta 0:cb29cf2767cd 22 int size;
M_souta 0:cb29cf2767cd 23 uint8_t top;
M_souta 0:cb29cf2767cd 24 uint8_t bottom;
M_souta 0:cb29cf2767cd 25 uint8_t length;
M_souta 0:cb29cf2767cd 26 bool fullup;
M_souta 0:cb29cf2767cd 27 }Buffer;
M_souta 0:cb29cf2767cd 28
M_souta 0:cb29cf2767cd 29 public:
M_souta 0:cb29cf2767cd 30 RingBuffer(char *bufPtr, int size);
M_souta 0:cb29cf2767cd 31
M_souta 0:cb29cf2767cd 32 //バッファにデータを追加
M_souta 0:cb29cf2767cd 33 void PutData(char data, bool ASCIItoNum = false);
M_souta 0:cb29cf2767cd 34 void PutData(char *data, int length);
M_souta 0:cb29cf2767cd 35 void PutData(const char *str);
M_souta 0:cb29cf2767cd 36
M_souta 0:cb29cf2767cd 37 //バッファからデータを1byte読み出し
M_souta 0:cb29cf2767cd 38 char GetData();
M_souta 0:cb29cf2767cd 39
M_souta 0:cb29cf2767cd 40 //バッファが飽和しているか確認
M_souta 0:cb29cf2767cd 41 bool IsFullup();
M_souta 0:cb29cf2767cd 42 //バッファにデータが存在するか確認
M_souta 0:cb29cf2767cd 43 bool InAnyData();
M_souta 0:cb29cf2767cd 44 };
M_souta 0:cb29cf2767cd 45 }
M_souta 0:cb29cf2767cd 46
M_souta 0:cb29cf2767cd 47
M_souta 0:cb29cf2767cd 48
M_souta 0:cb29cf2767cd 49 #endif /* RINGBUFFER_H_ */