getAnalogAverageValue should use a 32-bit int

getAnalogAverageValue gets a 32-bit integer and returns it as an int32_t,
but previously it stored the intermediate value as a 16-bit int.

Change-Id: I0a8b0cd3b3ff9b1ff40ad7942170f633c44c127b
This commit is contained in:
Thomas Clark
2014-08-04 16:08:58 -04:00
parent e73c8d06eb
commit c49ea255b9

View File

@@ -288,7 +288,7 @@ int16_t getAnalogValue(void* analog_port_pointer, int32_t *status) {
*/
int32_t getAnalogAverageValue(void* analog_port_pointer, int32_t *status) {
AnalogPort* port = (AnalogPort*) analog_port_pointer;
int16_t value;
int32_t value;
checkAnalogInputChannel(port->port.pin);
tAI::tReadSelect readSelect;
@@ -299,7 +299,7 @@ int32_t getAnalogAverageValue(void* analog_port_pointer, int32_t *status) {
Synchronized sync(analogRegisterWindowSemaphore);
analogInputSystem->writeReadSelect(readSelect, status);
analogInputSystem->strobeLatchOutput(status);
value = (int16_t) analogInputSystem->readOutput(status);
value = (int32_t) analogInputSystem->readOutput(status);
}
return value;