mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-11-06 16:01:36 +08:00
Symbol cleanup for servo vs. battery voltage
This commit is contained in:
@@ -1315,7 +1315,7 @@ PX4IO::print_status()
|
|||||||
io_reg_set(PX4IO_PAGE_STATUS, PX4IO_P_STATUS_ALARMS, 0xFFFF);
|
io_reg_set(PX4IO_PAGE_STATUS, PX4IO_P_STATUS_ALARMS, 0xFFFF);
|
||||||
|
|
||||||
if (_hardware == 1) {
|
if (_hardware == 1) {
|
||||||
printf("vbatt %u ibatt %u vbatt scale %u\n",
|
printf("vbatt mV %u ibatt mV %u vbatt scale %u\n",
|
||||||
io_reg_get(PX4IO_PAGE_STATUS, PX4IO_P_STATUS_VBATT),
|
io_reg_get(PX4IO_PAGE_STATUS, PX4IO_P_STATUS_VBATT),
|
||||||
io_reg_get(PX4IO_PAGE_STATUS, PX4IO_P_STATUS_IBATT),
|
io_reg_get(PX4IO_PAGE_STATUS, PX4IO_P_STATUS_IBATT),
|
||||||
io_reg_get(PX4IO_PAGE_SETUP, PX4IO_P_SETUP_VBATT_SCALE));
|
io_reg_get(PX4IO_PAGE_SETUP, PX4IO_P_SETUP_VBATT_SCALE));
|
||||||
@@ -1324,9 +1324,9 @@ PX4IO::print_status()
|
|||||||
(double)_battery_amp_bias,
|
(double)_battery_amp_bias,
|
||||||
(double)_battery_mamphour_total);
|
(double)_battery_mamphour_total);
|
||||||
} else if (_hardware == 2) {
|
} else if (_hardware == 2) {
|
||||||
printf("vservo %u vservo scale %u\n",
|
printf("vservo %u mV vservo scale %u\n",
|
||||||
io_reg_get(PX4IO_PAGE_STATUS, PX4IO_P_STATUS_VSERVO),
|
io_reg_get(PX4IO_PAGE_STATUS, PX4IO_P_STATUS_VSERVO),
|
||||||
io_reg_get(PX4IO_PAGE_SETUP, PX4IO_P_SETUP_VBATT_SCALE));
|
io_reg_get(PX4IO_PAGE_SETUP, PX4IO_P_SETUP_VSERVO_SCALE));
|
||||||
printf("vrssi %u\n", io_reg_get(PX4IO_PAGE_STATUS, PX4IO_P_STATUS_VRSSI));
|
printf("vrssi %u\n", io_reg_get(PX4IO_PAGE_STATUS, PX4IO_P_STATUS_VRSSI));
|
||||||
}
|
}
|
||||||
printf("actuators");
|
printf("actuators");
|
||||||
|
|||||||
@@ -163,13 +163,13 @@
|
|||||||
#define PX4IO_P_SETUP_PWM_ALTRATE 4 /* 'high' PWM frame output rate in Hz */
|
#define PX4IO_P_SETUP_PWM_ALTRATE 4 /* 'high' PWM frame output rate in Hz */
|
||||||
|
|
||||||
#define PX4IO_P_SETUP_RELAYS 5 /* bitmask of relay/switch outputs, 0 = off, 1 = on */
|
#define PX4IO_P_SETUP_RELAYS 5 /* bitmask of relay/switch outputs, 0 = off, 1 = on */
|
||||||
#define PX4IO_P_SETUP_RELAYS_POWER1 (1<<0) /* [1] power relay 1 */
|
#define PX4IO_P_SETUP_RELAYS_POWER1 (1<<0) /* hardware rev [1] power relay 1 */
|
||||||
#define PX4IO_P_SETUP_RELAYS_POWER2 (1<<1) /* [1] power relay 2 */
|
#define PX4IO_P_SETUP_RELAYS_POWER2 (1<<1) /* hardware rev [1] power relay 2 */
|
||||||
#define PX4IO_P_SETUP_RELAYS_ACC1 (1<<2) /* [1] accessory power 1 */
|
#define PX4IO_P_SETUP_RELAYS_ACC1 (1<<2) /* hardware rev [1] accessory power 1 */
|
||||||
#define PX4IO_P_SETUP_RELAYS_ACC2 (1<<3) /* [1] accessory power 2 */
|
#define PX4IO_P_SETUP_RELAYS_ACC2 (1<<3) /* hardware rev [1] accessory power 2 */
|
||||||
|
|
||||||
#define PX4IO_P_SETUP_VBATT_SCALE 6 /* [1] battery voltage correction factor (float) */
|
#define PX4IO_P_SETUP_VBATT_SCALE 6 /* hardware rev [1] battery voltage correction factor (float) */
|
||||||
#define PX4IO_P_SETUP_VSERVO_SCALE 6 /* [2] servo voltage correction factor (float) */
|
#define PX4IO_P_SETUP_VSERVO_SCALE 6 /* hardware rev [2] servo voltage correction factor (float) */
|
||||||
#define PX4IO_P_SETUP_DSM 7 /* DSM bind state */
|
#define PX4IO_P_SETUP_DSM 7 /* DSM bind state */
|
||||||
enum { /* DSM bind states */
|
enum { /* DSM bind states */
|
||||||
dsm_bind_power_down = 0,
|
dsm_bind_power_down = 0,
|
||||||
|
|||||||
@@ -146,7 +146,11 @@ volatile uint16_t r_page_setup[] =
|
|||||||
[PX4IO_P_SETUP_PWM_DEFAULTRATE] = 50,
|
[PX4IO_P_SETUP_PWM_DEFAULTRATE] = 50,
|
||||||
[PX4IO_P_SETUP_PWM_ALTRATE] = 200,
|
[PX4IO_P_SETUP_PWM_ALTRATE] = 200,
|
||||||
[PX4IO_P_SETUP_RELAYS] = 0,
|
[PX4IO_P_SETUP_RELAYS] = 0,
|
||||||
|
#ifdef ADC_VSERVO
|
||||||
|
[PX4IO_P_SETUP_VSERVO_SCALE] = 10000,
|
||||||
|
#else
|
||||||
[PX4IO_P_SETUP_VBATT_SCALE] = 10000,
|
[PX4IO_P_SETUP_VBATT_SCALE] = 10000,
|
||||||
|
#endif
|
||||||
[PX4IO_P_SETUP_SET_DEBUG] = 0,
|
[PX4IO_P_SETUP_SET_DEBUG] = 0,
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -570,29 +574,17 @@ registers_get(uint8_t page, uint8_t offset, uint16_t **values, unsigned *num_val
|
|||||||
* Coefficients here derived by measurement of the 5-16V
|
* Coefficients here derived by measurement of the 5-16V
|
||||||
* range on one unit:
|
* range on one unit:
|
||||||
*
|
*
|
||||||
* V counts
|
* XXX pending measurements
|
||||||
* 5 1001
|
|
||||||
* 6 1219
|
|
||||||
* 7 1436
|
|
||||||
* 8 1653
|
|
||||||
* 9 1870
|
|
||||||
* 10 2086
|
|
||||||
* 11 2303
|
|
||||||
* 12 2522
|
|
||||||
* 13 2738
|
|
||||||
* 14 2956
|
|
||||||
* 15 3172
|
|
||||||
* 16 3389
|
|
||||||
*
|
*
|
||||||
* slope = 0.0046067
|
* slope = xxx
|
||||||
* intercept = 0.3863
|
* intercept = xxx
|
||||||
*
|
*
|
||||||
* Intercept corrected for best results @ 12V.
|
* Intercept corrected for best results @ 5.0V.
|
||||||
*/
|
*/
|
||||||
unsigned counts = adc_measure(ADC_VSERVO);
|
unsigned counts = adc_measure(ADC_VSERVO);
|
||||||
if (counts != 0xffff) {
|
if (counts != 0xffff) {
|
||||||
unsigned mV = (4150 + (counts * 46)) / 10 - 200;
|
unsigned mV = (4150 + (counts * 46)) / 10 - 200;
|
||||||
unsigned corrected = (mV * r_page_setup[PX4IO_P_SETUP_VBATT_SCALE]) / 10000;
|
unsigned corrected = (mV * r_page_setup[PX4IO_P_SETUP_VSERVO_SCALE]) / 10000;
|
||||||
|
|
||||||
r_page_status[PX4IO_P_STATUS_VSERVO] = corrected;
|
r_page_status[PX4IO_P_STATUS_VSERVO] = corrected;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user