Converting to defines and else ifs

Defines save flash and progmem and elseifs increase execution speed on code repeated on every loop.

Side note, something funky happened with the spacing.  Fixed it, but it's slightly different than what it was before.
This commit is contained in:
Foodbandlt 2019-04-22 03:25:52 -04:00
parent 5ff215c0da
commit e16c35cd32

View file

@ -60,7 +60,7 @@ The gain STATE is representative of these values:
// Set variables for working parameters // Set variables for working parameters
int GAIN_FACTOR = 2; // Gain adjustment factor. 0=3x, 1=3.5x, 2=4.33x, 3=6x, 4=11x int GAIN_FACTOR = 2; // Gain adjustment factor. 0=3x, 1=3.5x, 2=4.33x, 3=6x, 4=11x
int InitCount = 6; // Number of times to blink the LED on start #define InitCount 6 // Number of times to blink the LED on start
int TRG_DUR = 120; // duration of the Z-axis pulse sent, in ms int TRG_DUR = 120; // duration of the Z-axis pulse sent, in ms
#define senseThrs 2.15 #define senseThrs 2.15
//float senseHighThrs = 2.35; // Upper threshold of Voltage Follower before adjustment //float senseHighThrs = 2.35; // Upper threshold of Voltage Follower before adjustment
@ -68,25 +68,25 @@ int TRG_DUR = 120; // duration of the Z-axis pulse sent, in ms
#define compThrs 2.75 #define compThrs 2.75
//float compHighThrs = 2.75; // Upper threshold of Comparator before adjustment //float compHighThrs = 2.75; // Upper threshold of Comparator before adjustment
//float compLowThrs = 2.54; // Lower threshold of Comparator before adjustment //float compLowThrs = 2.54; // Lower threshold of Comparator before adjustment
int Hyst = 20; // Hysteresis value for ADC measurements #define Hyst 20 // Hysteresis value for ADC measurements
int Vin = 5; // input reference voltage #define Vin 5 // input reference voltage
// Analog Pin Assignments // Analog Pin Assignments
int V_FOLLOW_PIN = A0; // Sense pin to check Voltage Follower stage #define V_FOLLOW_PIN A0 // Sense pin to check Voltage Follower stage
int VCOMP_SENSE_PIN = A1; // Sense pin to check comparator stage voltage #define VCOMP_SENSE_PIN A1 // Sense pin to check comparator stage voltage
// Digital Pin Assignments // Digital Pin Assignments
const int TRG_OUT = 7; // LED and Z-Min trigger output connected to digital pin 7 #define TRG_OUT 7 // LED and Z-Min trigger output connected to digital pin 7
//const int TRG_OUT = 13; // For testing on Atmega328/2560, Output is moved to onboard LED pin //#define TRG_OUT 13 // For testing on Atmega328/2560, Output is moved to onboard LED pin
//#define Z_TRG 0 // the piezo is connected to INT0 / digital pin 2 //#define Z_TRG 0 // the piezo is connected to INT0 / digital pin 2
const byte Z_TRG = 2; // the piezo is connected to INT0 / digital pin 2 #define Z_TRG 2 // the piezo is connected to INT0 / digital pin 2
int ERR_LED = 4; // LED will blink if optimal voltage range cannot be achieved #define ERR_LED 4 // LED will blink if optimal voltage range cannot be achieved
const int GADJ_R0 = 20; // Auto-adjust ladder pin assignments #define GADJ_R0 20 // Auto-adjust ladder pin assignments
const int GADJ_R1 = 21; // " #define GADJ_R1 21 // "
const int GADJ_R2 = 5; // " #define GADJ_R2 5 // "
const int GADJ_R3 = 6; // " #define GADJ_R3 6 // "
int V_FOL_PWM = 3; // PWM analog output pin for voltage follower adjustment #define V_FOL_PWM 3 // PWM analog output pin for voltage follower adjustment
int VCOMP_PWM = 9; // PWM analog output pin for comparator adjustment #define VCOMP_PWM 9 // PWM analog output pin for comparator adjustment
// these variables will change on their own. Do not edit ANYTHING below this line // these variables will change on their own. Do not edit ANYTHING below this line
volatile int sensorHReading = 0; // variable to store the value read from the sensor pin volatile int sensorHReading = 0; // variable to store the value read from the sensor pin
@ -124,10 +124,10 @@ int BlinkState = LOW;
int BlinkCount = InitCount * 2; // Multiply Blink count by 2 to handle toggle state int BlinkCount = InitCount * 2; // Multiply Blink count by 2 to handle toggle state
// Serial Input Parsing Variables // Serial Input Parsing Variables
const byte buffSize = 40; #define buffSize 40
char inputBuffer[buffSize]; char inputBuffer[buffSize];
const char startMarker = '<'; #define startMarker '<'
const char endMarker = '>'; #define endMarker '>'
byte bytesRecvd = 0; byte bytesRecvd = 0;
bool readInProgress = false; bool readInProgress = false;
bool serialIncoming = false; bool serialIncoming = false;
@ -200,17 +200,17 @@ void adjustComp() {
void adjustGain() { void adjustGain() {
if (GAIN_FACTOR < 0) { if (GAIN_FACTOR < 0 || GAIN_FACTOR > 4) {
ERR_STATE = 1; ERR_STATE = 1;
} }
if (GAIN_FACTOR == 0) { else if (GAIN_FACTOR == 0) {
pinMode(GADJ_R3, INPUT); pinMode(GADJ_R3, INPUT);
pinMode(GADJ_R2, INPUT); pinMode(GADJ_R2, INPUT);
pinMode(GADJ_R1, INPUT); pinMode(GADJ_R1, INPUT);
pinMode(GADJ_R0, INPUT); pinMode(GADJ_R0, INPUT);
ERR_STATE = 0; ERR_STATE = 0;
} }
if (GAIN_FACTOR > 0) { else if (GAIN_FACTOR > 0) {
pinMode(GADJ_R3, OUTPUT); pinMode(GADJ_R3, OUTPUT);
digitalWrite(GADJ_R3, LOW); digitalWrite(GADJ_R3, LOW);
pinMode(GADJ_R2, INPUT); pinMode(GADJ_R2, INPUT);
@ -218,27 +218,24 @@ void adjustGain() {
pinMode(GADJ_R0, INPUT); pinMode(GADJ_R0, INPUT);
ERR_STATE = 0; ERR_STATE = 0;
} }
if (GAIN_FACTOR > 1) { else if (GAIN_FACTOR > 1) {
pinMode(GADJ_R2, OUTPUT); pinMode(GADJ_R2, OUTPUT);
digitalWrite(GADJ_R2, LOW); digitalWrite(GADJ_R2, LOW);
pinMode(GADJ_R1, INPUT); pinMode(GADJ_R1, INPUT);
pinMode(GADJ_R0, INPUT); pinMode(GADJ_R0, INPUT);
ERR_STATE = 0; ERR_STATE = 0;
} }
if (GAIN_FACTOR > 2) { else if (GAIN_FACTOR > 2) {
pinMode(GADJ_R1, OUTPUT); pinMode(GADJ_R1, OUTPUT);
digitalWrite(GADJ_R1, LOW); digitalWrite(GADJ_R1, LOW);
pinMode(GADJ_R0, INPUT); pinMode(GADJ_R0, INPUT);
ERR_STATE = 0; ERR_STATE = 0;
} }
if (GAIN_FACTOR > 3) { else if (GAIN_FACTOR > 3) {
pinMode(GADJ_R0, OUTPUT); pinMode(GADJ_R0, OUTPUT);
digitalWrite(GADJ_R0, LOW); digitalWrite(GADJ_R0, LOW);
ERR_STATE = 0; ERR_STATE = 0;
} }
if (GAIN_FACTOR > 4) {
ERR_STATE = 1;
}
} }
/*------------------------------------------------*/ /*------------------------------------------------*/
@ -248,7 +245,7 @@ void checkError () {
digitalWrite(ERR_LED, BlinkState); digitalWrite(ERR_LED, BlinkState);
BlinkState = !BlinkState; BlinkState = !BlinkState;
} }
if (ERR_STATE == 0) { else if (ERR_STATE == 0) {
BlinkState = LOW; BlinkState = LOW;
digitalWrite(ERR_LED, BlinkState); digitalWrite(ERR_LED, BlinkState);
} }
@ -295,7 +292,7 @@ void identifyMarkers() {
parseData(); parseData();
} }
if(readInProgress) { else if(readInProgress) {
inputBuffer[bytesRecvd] = x; inputBuffer[bytesRecvd] = x;
bytesRecvd ++; bytesRecvd ++;
if (bytesRecvd == buffSize) { if (bytesRecvd == buffSize) {
@ -303,7 +300,7 @@ void identifyMarkers() {
} }
} }
if (x == startMarker) { else if (x == startMarker) {
bytesRecvd = 0; bytesRecvd = 0;
readInProgress = true; readInProgress = true;
} }
@ -355,25 +352,25 @@ void updateParams() {
if (strcmp(serialMessageIn, "TRG_D") == 0) { if (strcmp(serialMessageIn, "TRG_D") == 0) {
updateTrigDuration(); updateTrigDuration();
} }
if (strcmp(serialMessageIn, "GAIN_F") == 0) { else if (strcmp(serialMessageIn, "GAIN_F") == 0) {
updateGainFactor(); updateGainFactor();
} }
if (strcmp(serialMessageIn, "VCOMP") == 0) { else if (strcmp(serialMessageIn, "VCOMP") == 0) {
updateVComp(); updateVComp();
} }
//if (strcmp(serialMessageIn, "VCOMPH") == 0) { //else if (strcmp(serialMessageIn, "VCOMPH") == 0) {
// updateVCompH(); // updateVCompH();
//} //}
//if (strcmp(serialMessageIn, "VCOMPL") == 0) { //else if (strcmp(serialMessageIn, "VCOMPL") == 0) {
// updateVCompL(); // updateVCompL();
//} //}
if (strcmp(serialMessageIn, "VADJ") == 0) { else if (strcmp(serialMessageIn, "VADJ") == 0) {
updateVAdj(); updateVAdj();
} }
//if (strcmp(serialMessageIn, "VADJH") == 0) { //else if (strcmp(serialMessageIn, "VADJH") == 0) {
// updateVAdjH(); // updateVAdjH();
//} //}
//if (strcmp(serialMessageIn, "VADJL") == 0) { //else if (strcmp(serialMessageIn, "VADJL") == 0) {
// updateVAdjL(); // updateVAdjL();
//} //}
} }