static int test_perf(int argc, char *argv[]) { perf_counter_t cc, ec; cc = perf_alloc(PC_COUNT, "test_count"); ec = perf_alloc(PC_ELAPSED, "test_elapsed"); if ((cc == NULL) || (ec == NULL)) { printf("perf: counter alloc failed\n"); return 1; } perf_begin(ec); perf_count(cc); perf_count(cc); perf_count(cc); perf_count(cc); printf("perf: expect count of 4\n"); perf_print_counter(cc); perf_end(ec); printf("perf: expect count of 1\n"); perf_print_counter(ec); printf("perf: expect at least two counters\n"); perf_print_all(0); perf_free(cc); perf_free(ec); return OK; }
void CM8JL65::print_info() { perf_print_counter(_sample_perf); perf_print_counter(_comms_errors); _reports->print_info("report queue"); }
void FXOS8700CQ::print_info() { printf("accel reads: %u\n", _accel_read); printf("mag reads: %u\n", _mag_read); perf_print_counter(_accel_sample_perf); perf_print_counter(_mag_sample_perf); perf_print_counter(_bad_registers); perf_print_counter(_bad_values); perf_print_counter(_accel_duplicates); _accel_reports->print_info("accel reports"); _mag_reports->print_info("mag reports"); ::printf("checked_next: %u\n", _checked_next); for (uint8_t i = 0; i < FXOS8700C_NUM_CHECKED_REGISTERS; i++) { uint8_t v = read_reg(_checked_registers[i]); if (v != _checked_values[i]) { ::printf("reg %02x:%02x should be %02x\n", (unsigned)_checked_registers[i], (unsigned)v, (unsigned)_checked_values[i]); } } ::printf("temperature: %.2f\n", (double)_last_temperature); }
void Gimbal::print_info() { perf_print_counter(_sample_perf); perf_print_counter(_comms_errors); perf_print_counter(_buffer_overflows); }
int PX4IO_serial::ioctl(unsigned operation, unsigned &arg) { switch (operation) { case 1: /* XXX magic number - test operation */ switch (arg) { case 0: lowsyslog("test 0\n"); /* kill DMA, this is a PIO test */ stm32_dmastop(_tx_dma); stm32_dmastop(_rx_dma); rCR3 &= ~(USART_CR3_DMAR | USART_CR3_DMAT); for (;;) { while (!(rSR & USART_SR_TXE)) ; rDR = 0x55; } return 0; case 1: { unsigned fails = 0; for (unsigned count = 0;; count++) { uint16_t value = count & 0xffff; if (write((PX4IO_PAGE_TEST << 8) | PX4IO_P_TEST_LED, &value, 1) != 0) fails++; if (count >= 5000) { lowsyslog("==== test 1 : %u failures ====\n", fails); perf_print_counter(_pc_txns); perf_print_counter(_pc_dmasetup); perf_print_counter(_pc_retries); perf_print_counter(_pc_timeouts); perf_print_counter(_pc_crcerrs); perf_print_counter(_pc_dmaerrs); perf_print_counter(_pc_protoerrs); perf_print_counter(_pc_uerrs); perf_print_counter(_pc_idle); perf_print_counter(_pc_badidle); count = 0; } } return 0; } case 2: lowsyslog("test 2\n"); return 0; } default: break; } return -1; }
void Airspeed::print_info() { perf_print_counter(_sample_perf); perf_print_counter(_comms_errors); warnx("poll interval: %u ticks", _measure_ticks); _reports->print_info("report queue"); }
void SF1XX::print_info() { perf_print_counter(_sample_perf); perf_print_counter(_comms_errors); printf("poll interval: %u ticks\n", _measure_ticks); _reports->print_info("report queue"); }
void LidarLitePWM::print_info() { perf_print_counter(_sample_perf); perf_print_counter(_read_errors); perf_print_counter(_sensor_zero_resets); warnx("poll interval: %u ticks", getMeasureTicks()); warnx("distance: %.3fm", (double)_range.current_distance); }
void AirspeedSim::print_info() { perf_print_counter(_sample_perf); perf_print_counter(_comms_errors); perf_print_counter(_buffer_overflows); PX4_INFO("poll interval: %u ticks", _measure_ticks); _reports->print_info("report queue"); }
void L3GD20::print_info() { printf("gyro reads: %u\n", _read); perf_print_counter(_sample_perf); perf_print_counter(_reschedules); perf_print_counter(_errors); _reports->print_info("report queue"); }
void QMC5883::print_info() { perf_print_counter(_sample_perf); perf_print_counter(_comms_errors); printf("poll interval: %u ticks\n", _measure_ticks); print_message(_last_report); _reports->print_info("report queue"); }
void LIS3MDL::print_info() { perf_print_counter(_sample_perf); perf_print_counter(_comms_errors); PX4_INFO("poll interval: %u ticks", _measure_ticks); print_message(_last_report); _reports->print_info("report queue"); }
void HMC5883::print_info() { perf_print_counter(_sample_perf); perf_print_counter(_comms_errors); perf_print_counter(_buffer_overflows); printf("poll interval: %u ticks\n", _measure_ticks); _reports->print_info("report queue"); }
void TFMINI::print_info() { printf("Using port '%s'\n", _port); perf_print_counter(_sample_perf); perf_print_counter(_comms_errors); printf("poll interval: %d ticks\n", _measure_ticks); _reports->print_info("report queue"); }
void LM73::print_info() { perf_print_counter(_sample_perf); perf_print_counter(_comms_errors); perf_print_counter(_buffer_overflows); printf("poll interval: %u ticks\n", _measure_ticks); _reports->print_info("report queue"); printf("ambient temperature: %10.4f\n", (double)(temperature)); }
void ETSAirspeed::print_info() { perf_print_counter(_sample_perf); perf_print_counter(_comms_errors); perf_print_counter(_buffer_overflows); printf("poll interval: %u ticks\n", _measure_ticks); printf("report queue: %u (%u/%u @ %p)\n", _num_reports, _oldest_report, _next_report, _reports); }
void LSM303D::print_info() { perf_print_counter(_accel_sample_perf); printf("report queue: %u (%u/%u @ %p)\n", _num_accel_reports, _oldest_accel_report, _next_accel_report, _accel_reports); perf_print_counter(_mag_sample_perf); printf("report queue: %u (%u/%u @ %p)\n", _num_mag_reports, _oldest_mag_report, _next_mag_report, _mag_reports); }
void LidarLiteI2C::print_info() { perf_print_counter(_sample_perf); perf_print_counter(_comms_errors); perf_print_counter(_sensor_resets); perf_print_counter(_sensor_zero_resets); printf("poll interval: %u ticks\n", getMeasureTicks()); _reports->print_info("report queue"); printf("distance: %ucm (0x%04x)\n", (unsigned)_last_distance, (unsigned)_last_distance); }
void AK8975::print_info() { perf_print_counter(_sample_perf); perf_print_counter(_comms_errors); perf_print_counter(_buffer_overflows); printf("poll interval: %u ticks\n", _measure_ticks); _reports->print_info("report queue"); printf("sensitivity ASAX %02X\n", _fuse[0]); printf("sensitivity ASAY %02X\n", _fuse[1]); printf("sensitivity ASAZ %02X\n", _fuse[2]); }
void LL40LS::print_info() { perf_print_counter(_sample_perf); perf_print_counter(_comms_errors); perf_print_counter(_buffer_overflows); perf_print_counter(_sensor_resets); perf_print_counter(_sensor_zero_resets); printf("poll interval: %u ticks\n", _measure_ticks); _reports->print_info("report queue"); printf("distance: %ucm (0x%04x)\n", (unsigned)_last_distance, (unsigned)_last_distance); }
void SPV1020::print_info() { perf_print_counter(_sample_perf); perf_print_counter(_comms_errors); perf_print_counter(_buffer_overflows); printf("poll interval: %u ticks\n", _measure_ticks); printf("report queue: %u (%u/%u @ %p)\n", _num_reports, _oldest_report, _next_report, _reports); for(uint8_t mppt_device=0; mppt_device<max_mppt_devices ;mppt_device++){ printf("MPPT device %d: Current: %10.4f[A], Voltage: %10.4f[v], PWM: %d, Status vector: %x, \n", mppt_device, (double) mppt_current[mppt_device] , (double) mppt_voltage[mppt_device] , mppt_pwm[mppt_device], mppt_status[mppt_device]); } }
void LPS25H::print_info() { perf_print_counter(_sample_perf); perf_print_counter(_comms_errors); perf_print_counter(_buffer_overflows); printf("poll interval: %u ticks\n", _measure_ticks); printf("pressure %.2f\n", (double)_last_report.pressure); printf("altitude: %.2f\n", (double)_last_report.altitude); printf("temperature %.2f\n", (double)_last_report.temperature); _reports->print_info("report queue"); }
void HMC5883::print_info() { perf_print_counter(_sample_perf); perf_print_counter(_comms_errors); perf_print_counter(_buffer_overflows); printf("poll interval: %u ticks\n", _measure_ticks); printf("output (%.2f %.2f %.2f)\n", (double)_last_report.x, (double)_last_report.y, (double)_last_report.z); printf("offsets (%.2f %.2f %.2f)\n", (double)_scale.x_offset, (double)_scale.y_offset, (double)_scale.z_offset); printf("scaling (%.2f %.2f %.2f) 1/range_scale %.2f range_ga %.2f\n", (double)_scale.x_scale, (double)_scale.y_scale, (double)_scale.z_scale, (double)1.0/_range_scale, (double)_range_ga); _reports->print_info("report queue"); }
void IST8310::print_info() { perf_print_counter(_sample_perf); perf_print_counter(_comms_errors); printf("poll interval: %u ticks\n", _measure_ticks); printf("output (%.2f %.2f %.2f)\n", (double)_last_report.x, (double)_last_report.y, (double)_last_report.z); printf("offsets (%.2f %.2f %.2f)\n", (double)_scale.x_offset, (double)_scale.y_offset, (double)_scale.z_offset); printf("scaling (%.2f %.2f %.2f) 1/range_scale %.2f\n", (double)_scale.x_scale, (double)_scale.y_scale, (double)_scale.z_scale, (double)(1.0f / _range_scale)); printf("temperature %.2f\n", (double)_last_report.temperature); _reports->print_info("report queue"); }
void BMI160::print_info() { perf_print_counter(_sample_perf); perf_print_counter(_accel_reads); perf_print_counter(_gyro_reads); perf_print_counter(_bad_transfers); perf_print_counter(_bad_registers); perf_print_counter(_good_transfers); perf_print_counter(_reset_retries); perf_print_counter(_duplicates); _accel_reports->print_info("accel queue"); _gyro_reports->print_info("gyro queue"); ::printf("checked_next: %u\n", _checked_next); for (uint8_t i = 0; i < BMI160_NUM_CHECKED_REGISTERS; i++) { uint8_t v = read_reg(_checked_registers[i]); if (v != _checked_values[i]) { ::printf("reg %02x:%02x should be %02x\n", (unsigned)_checked_registers[i], (unsigned)v, (unsigned)_checked_values[i]); } if (v != _checked_bad[i]) { ::printf("reg %02x:%02x was bad %02x\n", (unsigned)_checked_registers[i], (unsigned)v, (unsigned)_checked_bad[i]); } } ::printf("temperature: %.1f\n", (double)_last_temperature); }
void BMA180::print_info() { perf_print_counter(_sample_perf); printf("report queue: %u (%u/%u @ %p)\n", _num_reports, _oldest_report, _next_report, _reports); }
void LSM303D::print_info() { printf("accel reads: %u\n", _accel_read); printf("mag reads: %u\n", _mag_read); perf_print_counter(_accel_sample_perf); _accel_reports->print_info("accel reports"); _mag_reports->print_info("mag reports"); }
void perf_print_all(void) { perf_counter_t handle = (perf_counter_t)sq_peek(&perf_counters); while (handle != NULL) { perf_print_counter(handle); handle = (perf_counter_t)sq_next(&handle->link); } }
void InputPWM::print_info() { perf_print_counter(_sample_perf); perf_print_counter(_buffer_overflows); printf("poll interval: %u ticks\n", _measure_ticks); _reports->print_info("report queue"); /* print out the rc channels */ int channel_count = 0; for (int i=0;i<INPUT_PWM_MAX_CHANNELS;i++) { if (input_pwm_channel_decoded[i]) { printf(" channel[%d]: %d\n", i+1, input_pwm_channel_values[i]); channel_count++; } } if (channel_count == 0) printf(" No active channels, %d expected for timer[%d]\n", _num_channels, _timer_index); }
void L3GD20::print_info() { printf("gyro reads: %u\n", _read); perf_print_counter(_sample_perf); perf_print_counter(_errors); perf_print_counter(_bad_registers); perf_print_counter(_duplicates); _reports->print_info("report queue"); ::printf("checked_next: %u\n", _checked_next); for (uint8_t i=0; i<L3GD20_NUM_CHECKED_REGISTERS; i++) { uint8_t v = read_reg(_checked_registers[i]); if (v != _checked_values[i]) { ::printf("reg %02x:%02x should be %02x\n", (unsigned)_checked_registers[i], (unsigned)v, (unsigned)_checked_values[i]); } } }