OK. I'd suggest you treat those bits as if they are binary bits, copy and paste the entire table into an excel spreadsheet to convert each 11 bit value into an integer. Convert the readings into integer (ie -0.9 thousand wants to be -9000)
The other issue you are going to have is that the sheer size of the table will be impractical to hold in sRam so you'll need to use PROGMEM to store it.
Anyhow, as a pointer in the right direction, here's a bit of an idea.
#include <avr/pgmspace.h>
struct altitudeValue
{
int reading;
int altitude;
};
int altTableSize;
const PROGMEM altitudeValue AVS[]=
{
2, -1000,
6, -900
//etc..
};
void setup() {
// put your setup code here, to run once:
altTableSize = sizeof (AVS) / sizeof (altitudeValue);
}
void loop() {
// put your main code here, to run repeatedly:
}
int getAltitude(int reading)
{
altitudeValue tableEntry;
for(int n=0; n< altTableSize; n++ )
{
//Copy table entry to local variable
memcpy_P(&tableEntry, &AVS[n],sizeof(altitudeValue));
if ( tableEntry.reading == reading)
return tableEntry.altitude;
}
//pick a value that you'll recognise as WRONG
//return it here to indicate that a search of the table failed
return -20000;
}
trackstarx2:
is there a way to to tell arduino to pull information from a chart
because i have 11 input with a specic set of combinations to present values
the only way i see it is to define each toggle switch(input) then write if then statements all over the place
just wondering if there's a shorter way of doing it
Are the switches debounced, say in hardware?
You can put each switch read into a separate bit in an int and the resulting value will be unique.
11 bits gives 0 to 2047. Use that as your table index.