uC chip interface arduino  0.9.0
A interface for async and neuromrphic IC testing
Loading...
Searching...
No Matches
core_ring_buffer.h File Reference
#include <cstdint>
#include "datatypes.h"
#include <stdlib.h>
#include <Arduino.h>
#include "uc_boards.h"
Include dependency graph for core_ring_buffer.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

void add_input_packet (packet_t *input_packet)
 
void disable_gpio_interrupt ()
 
void enable_gpio_interrupt ()
 
void error_message (uint8_t error_header, uint8_t source_header)
 
void error_message (uint8_t error_header, uint8_t source_header, uint32_t value, uint8_t sub_source_header=255)
 
void error_message_bypass_buffer (uint8_t error_header, uint8_t source_header, uint32_t value, uint8_t sub_source_header=255)
 
bool is_input_buffer_not_full ()
 
bool is_output_buffer_not_full ()
 
void send_config (uint8_t header, uint8_t config_header, uint8_t value)
 
void send_data32 (uint8_t header, uint32_t value, bool is_confirmation=false)
 
void send_data_i2c (uint8_t header, uint8_t device_address_8, uint8_t register_address, uint8_t value_ms, uint8_t value_ls, bool is_confirmation=false)
 
void send_input_ring_buffer ()
 
void send_input_ring_buffer_free_spots ()
 
void send_output_ring_buffer ()
 
void send_output_ring_buffer_first ()
 
void send_output_ring_buffer_last (bool conf=true)
 
void send_pin (uint8_t header, uint8_t id, uint8_t value, bool is_confirmation=false)
 
void set_read_on_request (uint8_t state)
 
void setup_ring_buffer ()
 

Variables

volatile packet_t input_ring_buffer [INPUT_BUFFER_SIZE]
 
volatile uint16_t input_ring_buffer_next_free
 
volatile uint16_t input_ring_buffer_start
 
volatile bool is_realtime
 
volatile uint16_t loop_runs_without_gpio_interrups
 
volatile unsigned long offset_time
 
volatile bool output_buffer_overflow
 
volatile bool output_buffer_read
 
volatile packet_t output_ring_buffer [OUTPUT_BUFFER_SIZE]
 
volatile uint16_t output_ring_buffer_next_free
 
volatile uint16_t output_ring_buffer_start
 
volatile bool read_active
 

Function Documentation

◆ add_input_packet()

void add_input_packet ( packet_t input_packet)

Definition at line 156 of file core_ring_buffer.cpp.

◆ disable_gpio_interrupt()

void disable_gpio_interrupt ( )

Definition at line 51 of file core_ring_buffer.cpp.

◆ enable_gpio_interrupt()

void enable_gpio_interrupt ( )

Definition at line 61 of file core_ring_buffer.cpp.

◆ error_message() [1/2]

void error_message ( uint8_t  error_header,
uint8_t  source_header 
)

Definition at line 298 of file core_ring_buffer.cpp.

◆ error_message() [2/2]

void error_message ( uint8_t  error_header,
uint8_t  source_header,
uint32_t  value,
uint8_t  sub_source_header = 255 
)

Definition at line 286 of file core_ring_buffer.cpp.

◆ error_message_bypass_buffer()

void error_message_bypass_buffer ( uint8_t  error_header,
uint8_t  source_header,
uint32_t  value,
uint8_t  sub_source_header = 255 
)

Definition at line 302 of file core_ring_buffer.cpp.

◆ is_input_buffer_not_full()

bool is_input_buffer_not_full ( )

Definition at line 120 of file core_ring_buffer.cpp.

◆ is_output_buffer_not_full()

bool is_output_buffer_not_full ( )

Definition at line 72 of file core_ring_buffer.cpp.

◆ send_config()

void send_config ( uint8_t  header,
uint8_t  config_header,
uint8_t  value 
)

Definition at line 274 of file core_ring_buffer.cpp.

◆ send_data32()

void send_data32 ( uint8_t  header,
uint32_t  value,
bool  is_confirmation = false 
)

Definition at line 237 of file core_ring_buffer.cpp.

◆ send_data_i2c()

void send_data_i2c ( uint8_t  header,
uint8_t  device_address_8,
uint8_t  register_address,
uint8_t  value_ms,
uint8_t  value_ls,
bool  is_confirmation = false 
)

Definition at line 248 of file core_ring_buffer.cpp.

◆ send_input_ring_buffer()

void send_input_ring_buffer ( )

Definition at line 219 of file core_ring_buffer.cpp.

◆ send_input_ring_buffer_free_spots()

void send_input_ring_buffer_free_spots ( )

Definition at line 134 of file core_ring_buffer.cpp.

◆ send_output_ring_buffer()

void send_output_ring_buffer ( )

Definition at line 169 of file core_ring_buffer.cpp.

◆ send_output_ring_buffer_first()

void send_output_ring_buffer_first ( )

Definition at line 190 of file core_ring_buffer.cpp.

◆ send_output_ring_buffer_last()

void send_output_ring_buffer_last ( bool  conf = true)

Definition at line 203 of file core_ring_buffer.cpp.

◆ send_pin()

void send_pin ( uint8_t  header,
uint8_t  id,
uint8_t  value,
bool  is_confirmation = false 
)

Definition at line 262 of file core_ring_buffer.cpp.

◆ set_read_on_request()

void set_read_on_request ( uint8_t  state)

Definition at line 45 of file core_ring_buffer.cpp.

◆ setup_ring_buffer()

void setup_ring_buffer ( )

Definition at line 36 of file core_ring_buffer.cpp.

Variable Documentation

◆ input_ring_buffer

volatile packet_t input_ring_buffer[INPUT_BUFFER_SIZE]
extern

Definition at line 21 of file core_ring_buffer.cpp.

◆ input_ring_buffer_next_free

volatile uint16_t input_ring_buffer_next_free
extern

Definition at line 23 of file core_ring_buffer.cpp.

◆ input_ring_buffer_start

volatile uint16_t input_ring_buffer_start
extern

Definition at line 22 of file core_ring_buffer.cpp.

◆ is_realtime

volatile bool is_realtime
extern

Definition at line 34 of file core_ring_buffer.cpp.

◆ loop_runs_without_gpio_interrups

volatile uint16_t loop_runs_without_gpio_interrups
extern

Definition at line 32 of file core_ring_buffer.cpp.

◆ offset_time

volatile unsigned long offset_time
extern

Definition at line 30 of file core_ring_buffer.cpp.

◆ output_buffer_overflow

volatile bool output_buffer_overflow
extern

Definition at line 27 of file core_ring_buffer.cpp.

◆ output_buffer_read

volatile bool output_buffer_read
extern

Definition at line 28 of file core_ring_buffer.cpp.

◆ output_ring_buffer

volatile packet_t output_ring_buffer[OUTPUT_BUFFER_SIZE]
extern

Definition at line 24 of file core_ring_buffer.cpp.

◆ output_ring_buffer_next_free

volatile uint16_t output_ring_buffer_next_free
extern

Definition at line 26 of file core_ring_buffer.cpp.

◆ output_ring_buffer_start

volatile uint16_t output_ring_buffer_start
extern

Definition at line 25 of file core_ring_buffer.cpp.

◆ read_active

volatile bool read_active
extern

Definition at line 31 of file core_ring_buffer.cpp.