36 "mA",
"uA",
"V",
"V"};
39 1000000, 100000, 100000000, 100000000};
53 mvprintw(1, 1,
"Starting RocketLogger Meter ...");
69 uint32_t sample_size) {
92 dig_data[0] = (int32_t)(*((int8_t*)(buffer_addr)));
93 dig_data[1] = (int32_t)(*((int8_t*)(buffer_addr + 1)));
100 if (sample_size == 4) {
101 for (l = 0; l < avg_number; l++) {
102 value += *((int32_t*)(buffer_addr + sample_size * j +
103 l * (NUM_CHANNELS * sample_size +
107 for (l = 0; l < avg_number; l++) {
108 value += *((int16_t*)(buffer_addr + sample_size * j +
109 l * (NUM_CHANNELS * sample_size +
113 value = value / (int64_t)avg_number;
122 mvprintw(1, 28,
"RocketLogger Meter");
129 mvprintw(i * 2 + 5, 15,
"%12.6f%s",
136 mvprintw(v * 2 + 5, 60,
"%9.6f%s",
146 mvprintw(3, 10,
"Currents:");
149 mvprintw(3, 33,
"Low range:");
151 mvprintw(5, 33,
"I1L invalid");
153 mvprintw(5, 33,
"I1L valid");
156 mvprintw(11, 33,
"I2L invalid");
158 mvprintw(11, 33,
"I2L valid");
163 mvprintw(3, 55,
"Voltages:");
168 mvprintw(20, 10,
"Digital Inputs:");
173 mvprintw(20 + 2 * j, 38,
"%d",
178 mvprintw(20 + 2 * (j - 3), 58,
"%d",
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.