23 mvprintw(1, 1,
"Starting RocketLogger Meter ...");
64 dig_data[0] = (int32_t) (*((int8_t *) (buffer_addr)));
65 dig_data[1] = (int32_t) (*((int8_t *) (buffer_addr + 1)));
73 if(sample_size == 4) {
74 for(l=0; l<avg_number; l++) {
75 value += *( (int32_t *) (buffer_addr + sample_size*j + l*(NUM_CHANNELS*sample_size +
PRU_DIG_SIZE)) );
78 for(l=0; l<avg_number; l++) {
79 value += *( (int16_t *) (buffer_addr + sample_size*j + l*(NUM_CHANNELS*sample_size +
PRU_DIG_SIZE)) );
82 value = value / (int64_t)avg_number;
89 mvprintw(1, 28,
"RocketLogger Meter");
110 mvprintw(3, 10,
"Currents:");
113 mvprintw(3, 33,
"Low range:");
115 mvprintw(5, 33,
"I1L invalid");
117 mvprintw(5, 33,
"I1L valid");
120 mvprintw(11, 33,
"I2L invalid");
122 mvprintw(11, 33,
"I2L valid");
127 mvprintw(3, 55,
"Voltages:");
132 mvprintw(20, 10,
"Digital Inputs:");
int offsets[NUM_CHANNELS]
Channel offsets (in bit)
#define NUM_DIGITAL_INPUTS
Number of RocketLogger digital channels.
double scales[NUM_CHANNELS]
Channel scalings.
void meter_print_buffer(struct rl_conf *conf, void *buffer_addr, uint32_t sample_size)
char * channel_units[NUM_CHANNELS]
Analog channel units.
int digital_inputs
En-/disable digital inputs.
const uint32_t digital_input_bits[NUM_DIGITAL_INPUTS]
Digital input bit location in binary data.
#define NUM_CHANNELS
Maximum number of RocketLogger channels.
#define CHANNEL_ENABLED
Channel sampling enabled.
#define PRU_DIG_SIZE
Size of PRU digital information in bytes.
int channels[NUM_CHANNELS]
Channels to sample.
const char * digital_input_names[NUM_DIGITAL_INPUTS]
Digital input names.
int is_current(int index)
int update_rate
Data update rate.
uint32_t channel_scales[NUM_CHANNELS]
Analog channel scales.
int sample_rate
Sampling rate.
int count_channels(int channels[NUM_CHANNELS])
int8_t num_channels
Number of channels sampled.
const char * channel_names[NUM_CHANNELS]
Channel names.
struct rl_calibration calibration
Calibration data.