35 "mA",
"uA",
"V",
"V"};
38 1000000, 100000, 100000000, 100000000};
52 mvprintw(1, 1,
"Starting RocketLogger Meter ...");
68 uint32_t sample_size) {
91 dig_data[0] = (int32_t)(*((int8_t*)(buffer_addr)));
92 dig_data[1] = (int32_t)(*((int8_t*)(buffer_addr + 1)));
99 if (sample_size == 4) {
100 for (l = 0; l < avg_number; l++) {
101 value += *((int32_t*)(buffer_addr + sample_size * j +
102 l * (NUM_CHANNELS * sample_size +
106 for (l = 0; l < avg_number; l++) {
107 value += *((int16_t*)(buffer_addr + sample_size * j +
108 l * (NUM_CHANNELS * sample_size +
112 value = value / (int64_t)avg_number;
121 mvprintw(1, 28,
"RocketLogger Meter");
128 mvprintw(i * 2 + 5, 15,
"%12.6f%s",
135 mvprintw(v * 2 + 5, 60,
"%9.6f%s",
145 mvprintw(3, 10,
"Currents:");
148 mvprintw(3, 33,
"Low range:");
150 mvprintw(5, 33,
"I1L invalid");
152 mvprintw(5, 33,
"I1L valid");
155 mvprintw(11, 33,
"I2L invalid");
157 mvprintw(11, 33,
"I2L valid");
162 mvprintw(3, 55,
"Voltages:");
167 mvprintw(20, 10,
"Digital Inputs:");
172 mvprintw(20 + 2 * j, 38,
"%d",
177 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.