This program utilizes the mcr20 Thread Shield on the FRDM-K64F MCU which is a two-part workspace (HVAC Server (RX)/Probe(TX)) to handle low temperature events read at the probe(s) to prevent pipes from freezing.
Dependencies: fsl_phy_mcr20a fsl_smac mbed-rtos mbed
Fork of mcr20_wireless_uart by
circular_buffer.h
- Committer:
- haircules
- Date:
- 2017-03-30
- Revision:
- 29:be24c0c29f17
- Parent:
- 27:1eb29717bfd9
File content as of revision 29:be24c0c29f17:
#ifndef __CIRCULAR_BUFFER_H__ #define __CIRCULAR_BUFFER_H__ #include "EmbeddedTypes.h" #include "MemManager.h" #ifndef gCircularBufferSize_c #define gCircularBufferSize_c 32 #endif typedef enum bufferStatus_tag { buffer_Ok_c = 0, buffer_Empty_c, buffer_Full_c }bufferStatus_t; class CircularBuffer { public: CircularBuffer(); CircularBuffer(uint32_t sz); ~CircularBuffer(); bufferStatus_t addToBuffer (uint8_t c); bufferStatus_t getFromBuffer (uint8_t *c); uint32_t getCount(); private: uint8_t *buffer; uint32_t size; uint32_t readIndex; uint32_t writeIndex; uint32_t count; }; #endif