ENTS-tock
Environmental NeTworked Sensor firmware on Tock OS
Loading...
Searching...
No Matches
fifo.h
Go to the documentation of this file.
1
12#pragma once
13
14#ifdef __cplusplus
15extern "C" {
16#endif
17
18#include <stdio.h>
19
20#include "fram.h"
21
61#ifndef FRAM_BUFFER_START
63#define FRAM_BUFFER_START 0
64#endif /* FRAM_BUFFER_START */
65
66#ifndef FRAM_BUFFER_END
68#define FRAM_BUFFER_END 1769
69#endif /* FRAM_BUFFER_END */
70
71#if FRAM_BUFFER_START > FRAM_BUFFER_END
72#error "Buffer end address must be greater than buffer start address"
73#endif
74
82fram_status fifo_put(const uint8_t* data, uint8_t num_bytes);
83
92fram_status fifo_get(uint8_t* data, uint8_t* len);
93
105fram_status fifo_peek(size_t idx, uint8_t* data, uint8_t* len);
106
115
121uint16_t fifo_buffer_len(void);
122
130
138
146
157
163int fifo_size(void);
164
169#ifdef __cplusplus
170}
171#endif
const char data[]
Storage interface for onboard FRAM chips.
fram_status fifo_get(uint8_t *data, uint8_t *len)
Reads a measurement from the queue.
Definition fifo.c:102
int fifo_size(void)
Gets the total number of bytes in the buffer.
Definition fifo.c:346
uint16_t fifo_buffer_len(void)
Get the current number of measurements stored in the buffer.
Definition fifo.c:233
fram_status fifo_buffer_clear(void)
Clears the buffer.
Definition fifo.c:235
fram_status fifo_put(const uint8_t *data, uint8_t num_bytes)
Puts a measurement into the circular buffer.
Definition fifo.c:55
fram_status fifo_drop(void)
Drops the next measurement in the buffer.
Definition fifo.c:210
fram_status fifo_save_buffer_state(void)
Saves the buffer state (read address, write address, and buffer length) to FRAM.
Definition fifo.c:247
fram_status fifo_peek(size_t idx, uint8_t *data, uint8_t *len)
Peeks at the next measurement in the buffer without removing it.
Definition fifo.c:147
fram_status fifo_init(void)
Initializes the buffer.
Definition fifo.c:326
fram_status fifo_load_buffer_state(void)
Loads the buffer state (read address, write address, and buffer length) from FRAM.
Definition fifo.c:290
fram_status
Definition fram.h:32