|
RocketLogger
1.0
|
#include "pru.h"
Include dependency graph for pru.c:Go to the source code of this file.
Macros | |
| #define | _FILE_OFFSET_BITS 64 |
Functions | |
| void * | pru_wait_event (void *voidEvent) |
| int | pru_wait_event_timeout (unsigned int event, unsigned int timeout) |
| void * | map_pru_memory (void) |
| int | unmap_pru_memory (void *pru_mmap) |
| void | pru_set_state (rl_pru_state state) |
| int | pru_init (void) |
| int | pru_data_setup (struct pru_data_struct *pru, struct rl_conf *conf, uint32_t avg_factor) |
| int | pru_sample (FILE *data, struct rl_conf *conf) |
| void | pru_stop (void) |
| void | pru_close (void) |
Variables | |
| pthread_mutex_t | waiting = PTHREAD_MUTEX_INITIALIZER |
| PRU access mutex. More... | |
| pthread_cond_t | done = PTHREAD_COND_INITIALIZER |
| Notification variable. More... | |
| #define _FILE_OFFSET_BITS 64 |
| void* map_pru_memory | ( | void | ) |
Map PRU memory into user space
Definition at line 75 of file pru.c.
References ERROR, MMAP_FILE, read_file_value(), and rl_log().
Referenced by pru_sample().
Here is the call graph for this function:| void pru_close | ( | void | ) |
| int pru_data_setup | ( | struct pru_data_struct * | pru, |
| struct rl_conf * | conf, | ||
| uint32_t | avg_factor | ||
| ) |
PRU data struct setup
| pru | Pointer to pru_data_struct to setup |
| conf | Pointer to current rl_conf configuration |
| avg_factor | Average factor for sampling rates smaller than minimal ADC rate |
Definition at line 160 of file pru.c.
References pru_data_struct::buffer0_location, pru_data_struct::buffer1_location, pru_data_struct::buffer_size, CH1SET, CH2SET, CH3SET, CH4SET, CH5SET, CH6SET, CH7SET, pru_data_struct::commands, CONFIG1, CONFIG1DEFAULT, CONFIG3, CONFIG3DEFAULT, ERROR, FAILURE, GAIN1, GAIN2, K1, K16, K2, K32, K4, K64, K8, LIMIT, MMAP_FILE, rl_conf::mode, NUM_CHANNELS, NUMBER_ADC_COMMANDS, pru_data_struct::number_commands, pru_data_struct::precision, PRECISION_HIGH, PRECISION_LOW, PRU_BUFFER_STATUS_SIZE, PRU_CONTINUOUS, PRU_DIG_SIZE, PRU_LIMIT, RDATAC, read_file_value(), RESET, rl_log(), pru_data_struct::sample_limit, rl_conf::sample_limit, rl_conf::sample_rate, pru_data_struct::sample_size, SDATAC, SIZE_HIGH, SIZE_LOW, pru_data_struct::state, SUCCESS, rl_conf::update_rate, and WREG.
Referenced by pru_sample().
Here is the call graph for this function:| int pru_init | ( | void | ) |
| int pru_sample | ( | FILE * | data, |
| struct rl_conf * | conf | ||
| ) |
Main PRU sampling function
| data | File pointer to data file |
| conf | Pointer to current rl_conf configuration |
Definition at line 266 of file pru.c.
References BIN, web_shm::buffer, BUFFER100_SIZE, BUFFER10_SIZE, BUFFER1_SIZE, rl_status::buffer_number, pru_data_struct::buffer_size, buffer_sizes, ceil_div(), rl_file_header::channel, rl_file_lead_in::channel_bin_count, rl_file_lead_in::channel_count, CHANNEL_ENABLED, rl_conf::channels, count_channels(), create_sem(), create_web_shm(), CSV, rl_file_lead_in::data_block_count, DATA_SEM, rl_conf::digital_inputs, DIGITAL_INPUTS_ENABLED, rl_conf::enable_web_server, ERROR, FAILURE, rl_conf::file_format, rl_conf::file_name, handle_data_buffer(), I1H_INDEX, I1L_INDEX, I2H_INDEX, I2L_INDEX, INFO, rl_file_header::lead_in, LIMIT, map_pru_memory(), rl_conf::max_file_size, MAX_PATH_LENGTH, METER, meter_init(), meter_print_buffer(), meter_stop(), MIN_ADC_RATE, MMAP_FILE, rl_conf::mode, NO_FILE, web_shm::num_channels, NUM_CHANNELS, NUM_DIGITAL_INPUTS, NUM_WEB_POINTS, PRU_BUFFER_STATUS_SIZE, PRU_CODE, pru_data_setup(), PRU_DIG_SIZE, PRU_OFF, PRU_TIMEOUT, pru_wait_event_timeout(), read_file_value(), remove_sem(), reset_buffer(), RL_ERROR, rl_log(), RL_RUNNING, rl_file_lead_in::sample_count, pru_data_struct::sample_limit, rl_conf::sample_limit, rl_conf::sample_rate, pru_data_struct::sample_size, rl_status::samples_taken, rl_status::sampling, SAMPLING_ON, sem_id, set_sem(), setup_header(), setup_lead_in(), pru_data_struct::state, rl_status::state, status, store_header_bin(), store_header_csv(), SUCCESS, unmap_pru_memory(), update_header_bin(), update_header_csv(), WAIT_SEM, WARNING, web_data, WEB_RING_BUFFER_COUNT, and write_status().
Referenced by hw_sample().
Here is the call graph for this function:| void pru_set_state | ( | rl_pru_state | state | ) |
Write state to PRU
| state | PRU state to write |
Definition at line 129 of file pru.c.
Referenced by pru_stop().
| void pru_stop | ( | void | ) |
Stop and shut down PRU operation
Definition at line 567 of file pru.c.
References PRU_OFF, pru_set_state(), PRU_TIMEOUT, pru_wait_event_timeout(), RL_ERROR, rl_status::state, and status.
Referenced by hw_close().
Here is the call graph for this function:| void* pru_wait_event | ( | void * | voidEvent | ) |
Wait on PRU event
| voidEvent | PRU event to wait on |
Definition at line 21 of file pru.c.
References done.
Referenced by pru_wait_event_timeout().
| int pru_wait_event_timeout | ( | unsigned int | event, |
| unsigned int | timeout | ||
| ) |
Wrapper for PRU event waiting with time out
| event | PRU event to wait on |
| timeout | Time out in seconds |
Definition at line 44 of file pru.c.
References done, pru_wait_event(), and waiting.
Referenced by pru_sample(), and pru_stop().
Here is the call graph for this function:| int unmap_pru_memory | ( | void * | pru_mmap | ) |
Unmap PRU memory from user space
| pru_mmap | Pointer to mapped memory |
Definition at line 106 of file pru.c.
References ERROR, FAILURE, MMAP_FILE, read_file_value(), rl_log(), and SUCCESS.
Referenced by pru_sample().
Here is the call graph for this function:| pthread_cond_t done = PTHREAD_COND_INITIALIZER |
Notification variable.
Definition at line 15 of file pru.c.
Referenced by pru_wait_event(), and pru_wait_event_timeout().
| pthread_mutex_t waiting = PTHREAD_MUTEX_INITIALIZER |