|
|
|
@ -39,8 +39,9 @@
@@ -39,8 +39,9 @@
|
|
|
|
|
#include <nuttx/ioexpander/gpio.h> |
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
ADC::ADC(uint32_t base_address, uint32_t channels) : |
|
|
|
|
ADC::ADC(uint32_t base_address, uint32_t channels, bool publish_adc_report) : |
|
|
|
|
ScheduledWorkItem(MODULE_NAME, px4::wq_configurations::hp_default), |
|
|
|
|
_publish_adc_report(publish_adc_report), |
|
|
|
|
_sample_perf(perf_alloc(PC_ELAPSED, MODULE_NAME": sample")), |
|
|
|
|
_base_address(base_address) |
|
|
|
|
{ |
|
|
|
@ -116,7 +117,10 @@ void ADC::Run()
@@ -116,7 +117,10 @@ void ADC::Run()
|
|
|
|
|
_samples[i].am_data = sample(_samples[i].am_channel); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
update_adc_report(now); |
|
|
|
|
if (_publish_adc_report) { |
|
|
|
|
update_adc_report(now); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
update_system_power(now); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -352,7 +356,8 @@ int ADC::custom_command(int argc, char *argv[])
@@ -352,7 +356,8 @@ int ADC::custom_command(int argc, char *argv[])
|
|
|
|
|
|
|
|
|
|
int ADC::task_spawn(int argc, char *argv[]) |
|
|
|
|
{ |
|
|
|
|
ADC *instance = new ADC(SYSTEM_ADC_BASE, ADC_CHANNELS); |
|
|
|
|
bool publish_adc_report = !(argc >= 2 && strcmp(argv[1], "-n") == 0); |
|
|
|
|
ADC *instance = new ADC(SYSTEM_ADC_BASE, ADC_CHANNELS, publish_adc_report); |
|
|
|
|
|
|
|
|
|
if (instance) { |
|
|
|
|
_object.store(instance); |
|
|
|
@ -389,6 +394,7 @@ ADC driver.
@@ -389,6 +394,7 @@ ADC driver.
|
|
|
|
|
PRINT_MODULE_USAGE_NAME("adc", "driver"); |
|
|
|
|
PRINT_MODULE_USAGE_COMMAND("start"); |
|
|
|
|
PRINT_MODULE_USAGE_COMMAND("test"); |
|
|
|
|
PRINT_MODULE_USAGE_PARAM_FLAG('n', "Do not publish ADC report, only system power", true); |
|
|
|
|
PRINT_MODULE_USAGE_DEFAULT_COMMANDS(); |
|
|
|
|
|
|
|
|
|
return 0; |
|
|
|
|