Hello there, I am trying to make a library and get it to compile using the Arduino IDE however, I am getting an error in the script VegaBoard.cpp the following error says: 'phDriverInit' was not declared in this scope.
Here is the code that the error occurs inside of:
VegaBoard.cpp
/*
Created by Tetra System Solutions (tetrasystemsolutions@gmail.com) - <https://www.tetrasystemsolutions.com>
Copyright (C) 2021 Tetra System Solutions.
All rights reserved.
*/
#include "VegaBoard.h"
void switchDriver(int option)
{
phDriverBegin();
switch(option)
{
case 0:
break;
case 1:
break;
case 2:
break;
case 3:
break;
default:
phDriverInit();
break;
}
}
VegaBoard.h
#include "ToolDrivers.h"
#include <SoftwareSerial.h>
class VegaBoard
{
public:
void switchDriver(int option);
void CommInit(int pin, int ledPin1); // Initializes communication with python and the ai.
void CommBegin(int pin, int ledPin1); // Begins communication with the ai.
void readDriver(int pin); // Reads data from the drivers
};
Here is the code for the script that defines the phDriverInit function (ToolDrivers.cpp & ToolDrivers.h):
/*
Created by Tetra System Solutions (tetrasystemsolutions@gmail.com) - <https://www.tetrasystemsolutions.com>
Copyright (C) 2021 Tetra System Solutions.
All rights reserved.
*/
#include "ToolDrivers.h"
void phDriverInit()
{
Wire.begin();
Serial.begin(9600);
display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
display.clearDisplay();
display.setTextColor(WHITE);
timer.setInterval(500L, display_driver.displayValue("pH:", ph_act));
}
void phDriverBegin()
{
timer.run();
for(int i = 0; i<10; i++)
{
buffer_array[i]=analogRead(A0);
delay(30);
}
for(int i = 0; i<9; i++)
{
for(int j=i+1; j<10; j++)
{
if(buffer_array[i]>buffer_array[j])
{
temperature=buffer_array[i];
buffer_array[i]=buffer_array[j];
buffer_array[j]=temp;
}
}
}
average_val=0;
for(int i=2; i<8; i++)
average_val+=buffer_array[i];
float voltage=(float)average_val*5.0/1024/6;
ph_act = -5.70 * voltage + calibration_value;
Serial.println("pH Val: ");
Serial.print(ph_act);
delay(1000);
}
ToolDrivers.h:
/*
Created by Tetra System Solutions (tetrasystemsolutions@gmail.com) - <https://www.tetrasystemsolutions.com>
Copyright (C) 2021 Tetra System Solutions.
All rights reserved.
*/
#include <SimpleTimer.h>
#include "DisplayDriver.h"
SimpleTimer timer;
float calibration_value = 21.34 - 0.7;
int ph_value = 0;
unsigned long int average_val;
int buffer_array[10],temperature;
float ph_act;
class ToolDrivers
{
public:
void phDriverInit();
void phDriverBegin();
};
What exactly would I be missing here? Thanks again for any help!