Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
RingBuffer/RingBuffer.h@0:0311bb0b38f7, 2019-09-09 (annotated)
- Committer:
- M_souta
- Date:
- Mon Sep 09 00:16:13 2019 +0000
- Revision:
- 0:0311bb0b38f7
test
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| M_souta | 0:0311bb0b38f7 | 1 | /* |
| M_souta | 0:0311bb0b38f7 | 2 | * RingBuffer.h |
| M_souta | 0:0311bb0b38f7 | 3 | * |
| M_souta | 0:0311bb0b38f7 | 4 | * Created: 2016/08/10 12:15:08 |
| M_souta | 0:0311bb0b38f7 | 5 | * Author: masuk |
| M_souta | 0:0311bb0b38f7 | 6 | */ |
| M_souta | 0:0311bb0b38f7 | 7 | |
| M_souta | 0:0311bb0b38f7 | 8 | |
| M_souta | 0:0311bb0b38f7 | 9 | #ifndef RINGBUFFER_H_ |
| M_souta | 0:0311bb0b38f7 | 10 | #define RINGBUFFER_H_ |
| M_souta | 0:0311bb0b38f7 | 11 | |
| M_souta | 0:0311bb0b38f7 | 12 | #include <stdint.h> |
| M_souta | 0:0311bb0b38f7 | 13 | |
| M_souta | 0:0311bb0b38f7 | 14 | namespace RINGBUFFER |
| M_souta | 0:0311bb0b38f7 | 15 | { |
| M_souta | 0:0311bb0b38f7 | 16 | //循環型バッファ 使用するバッファの配列と大きさを指定してください |
| M_souta | 0:0311bb0b38f7 | 17 | class RingBuffer |
| M_souta | 0:0311bb0b38f7 | 18 | { |
| M_souta | 0:0311bb0b38f7 | 19 | struct |
| M_souta | 0:0311bb0b38f7 | 20 | { |
| M_souta | 0:0311bb0b38f7 | 21 | char *data; |
| M_souta | 0:0311bb0b38f7 | 22 | int size; |
| M_souta | 0:0311bb0b38f7 | 23 | uint8_t top; |
| M_souta | 0:0311bb0b38f7 | 24 | uint8_t bottom; |
| M_souta | 0:0311bb0b38f7 | 25 | uint8_t length; |
| M_souta | 0:0311bb0b38f7 | 26 | bool fullup; |
| M_souta | 0:0311bb0b38f7 | 27 | }Buffer; |
| M_souta | 0:0311bb0b38f7 | 28 | |
| M_souta | 0:0311bb0b38f7 | 29 | public: |
| M_souta | 0:0311bb0b38f7 | 30 | RingBuffer(char *bufPtr, int size); |
| M_souta | 0:0311bb0b38f7 | 31 | |
| M_souta | 0:0311bb0b38f7 | 32 | //バッファにデータを追加 |
| M_souta | 0:0311bb0b38f7 | 33 | void PutData(char data, bool ASCIItoNum = false); |
| M_souta | 0:0311bb0b38f7 | 34 | void PutData(char *data, int length); |
| M_souta | 0:0311bb0b38f7 | 35 | void PutData(const char *str); |
| M_souta | 0:0311bb0b38f7 | 36 | |
| M_souta | 0:0311bb0b38f7 | 37 | //バッファからデータを1byte読み出し |
| M_souta | 0:0311bb0b38f7 | 38 | char GetData(); |
| M_souta | 0:0311bb0b38f7 | 39 | |
| M_souta | 0:0311bb0b38f7 | 40 | //バッファが飽和しているか確認 |
| M_souta | 0:0311bb0b38f7 | 41 | bool IsFullup(); |
| M_souta | 0:0311bb0b38f7 | 42 | //バッファにデータが存在するか確認 |
| M_souta | 0:0311bb0b38f7 | 43 | bool InAnyData(); |
| M_souta | 0:0311bb0b38f7 | 44 | }; |
| M_souta | 0:0311bb0b38f7 | 45 | } |
| M_souta | 0:0311bb0b38f7 | 46 | |
| M_souta | 0:0311bb0b38f7 | 47 | |
| M_souta | 0:0311bb0b38f7 | 48 | |
| M_souta | 0:0311bb0b38f7 | 49 | #endif /* RINGBUFFER_H_ */ |