RocketLogger  1.0
web.h File Reference
#include "types.h"
#include "log.h"
#include "util.h"
+ Include dependency graph for web.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  ringbuffer
 
struct  web_shm
 

Macros

#define WEB_RING_BUFFER_COUNT   3
 Number of ring buffers in shared memory. More...
 
#define BUF1_INDEX   0
 Index of 1s/div buffer. More...
 
#define BUF10_INDEX   1
 Index of 10s/div buffer. More...
 
#define BUF100_INDEX   2
 Index of 100s/div buffer. More...
 
#define BUFFER1_SIZE   100
 Size of 1s/div buffer. More...
 
#define BUFFER10_SIZE   10
 Size of 10s/div buffer. More...
 
#define BUFFER100_SIZE   1
 Size of 100s/div buffer. More...
 
#define NUM_WEB_CHANNELS   12
 Maximum number of channels in web interface (6 analog + 6 digital) More...
 
#define NUM_WEB_POINTS   1000
 Number of data points in web plot. More...
 
#define NUM_WEB_DIVS   10
 Number of time divisions in web plot. More...
 

Enumerations

enum  time_scale { S1 = 0, S10 = 1, S100 = 2 }
 

Functions

struct web_shmcreate_web_shm (void)
 
struct web_shmopen_web_shm (void)
 
void reset_buffer (struct ringbuffer *buffer, int element_size, int length)
 
void buffer_add (struct ringbuffer *buffer, int64_t *data)
 
int64_t * buffer_get (struct ringbuffer *buffer, int num)
 

Macro Definition Documentation

#define BUF100_INDEX   2

Index of 100s/div buffer.

Definition at line 19 of file web.h.

Referenced by handle_data_buffer().

#define BUF10_INDEX   1

Index of 10s/div buffer.

Definition at line 17 of file web.h.

Referenced by handle_data_buffer().

#define BUF1_INDEX   0

Index of 1s/div buffer.

Definition at line 15 of file web.h.

Referenced by handle_data_buffer().

#define BUFFER100_SIZE   1

Size of 100s/div buffer.

Definition at line 35 of file web.h.

Referenced by handle_data_buffer(), and pru_sample().

#define BUFFER10_SIZE   10

Size of 10s/div buffer.

Definition at line 33 of file web.h.

Referenced by handle_data_buffer(), and pru_sample().

#define BUFFER1_SIZE   100

Size of 1s/div buffer.

Definition at line 31 of file web.h.

Referenced by handle_data_buffer(), and pru_sample().

#define NUM_WEB_CHANNELS   12

Maximum number of channels in web interface (6 analog + 6 digital)

Definition at line 38 of file web.h.

#define NUM_WEB_DIVS   10

Number of time divisions in web plot.

Definition at line 42 of file web.h.

#define NUM_WEB_POINTS   1000

Number of data points in web plot.

Definition at line 40 of file web.h.

Referenced by pru_sample().

#define WEB_RING_BUFFER_COUNT   3

Number of ring buffers in shared memory.

Copyright (c) 2016-2017, ETH Zurich, Computer Engineering Group

Definition at line 13 of file web.h.

Referenced by handle_data_buffer(), and pru_sample().

Enumeration Type Documentation

enum time_scale

RocketLogger time scale definition

Enumerator
S1 

100 sample/s

S10 

10 samples/s

S100 

1 samples/s

Definition at line 24 of file web.h.

Function Documentation

void buffer_add ( struct ringbuffer buffer,
int64_t *  data 
)

Add element to ring buffer

Parameters
bufferPointer to ring buffer
dataPointer to data array to add

Definition at line 67 of file web.c.

References ringbuffer::data, ringbuffer::element_size, ringbuffer::filled, ringbuffer::head, and ringbuffer::length.

Referenced by handle_data_buffer().

int64_t* buffer_get ( struct ringbuffer buffer,
int  num 
)

Get pointer to a specific element of a ringbuffer

Parameters
bufferPointer to ring buffer
numElement number (0 corresponds to the newest element)
Returns
pointer to desired element

Definition at line 82 of file web.c.

References ringbuffer::data, ringbuffer::element_size, ringbuffer::head, and ringbuffer::length.

Referenced by print_data().

struct web_shm* create_web_shm ( void  )

Copyright (c) 2016-2017, ETH Zurich, Computer Engineering Group Create shared memory for data exchange with web server

Returns
pointer to shared memory, NULL in case of failure

Definition at line 11 of file web.c.

References ERROR, rl_log(), SHMEM_DATA_KEY, SHMEM_PERMISSIONS, and web_data.

Referenced by pru_sample().

+ Here is the call graph for this function:

struct web_shm* open_web_shm ( void  )

Open existing shared memory for data exchange with web server

Returns
pointer to shared memory, NULL in case of failure

Definition at line 32 of file web.c.

References ERROR, rl_log(), SHMEM_DATA_KEY, SHMEM_PERMISSIONS, and web_data.

Referenced by main().

+ Here is the call graph for this function:

void reset_buffer ( struct ringbuffer buffer,
int  element_size,
int  length 
)

Reset web data ring buffer

Parameters
bufferPointer to ring buffer to reset
element_sizeDesired element size in bytes
lengthBuffer length in elements

Definition at line 55 of file web.c.

References ringbuffer::element_size, ringbuffer::filled, ringbuffer::head, and ringbuffer::length.

Referenced by pru_sample().