there is maybe 3 ways of doing this:
1. the "gonna be messy" one with code directly splitted in each tab.
2. the C variant with cpp class header file .h + cpp (functions) .cpp
3. the more like C# JAVA style, with everything in the header file just like a big class
I must say that I prefer the 3:rd, mostly because it generates less errors for beginners.
here is all of them:
1. main.ino
Code:
#include <Arduino.h>
#include "file1.h"
#include "file2.h"
void setup () { //setup code here }
void loop() { subtract(1, 2); add(1+2); }
1. file1.h
Code:
#include <Arduino.h>
void add(int a, int b) {return a+b;}
1. file2.h
Code:
#include <Arduino.h>
void subtract(int a, int b) {return a-b;}
2. main.ino
Code:
#include <Arduino.h>
#include "classA.h"
ClassA classA; // here the name should begin with lower case for easier read.
void setup () { //setup code here }
void loop() { classA.add(1+2); }
2. classA.h
Code:
#ifndef classA_h
#define classA_h
#include <Arduino.h>
class ClassA { // the class name don't need to be same as filename
public:
int result;
void add(int a, int b);
}
2. classA.cpp
Code:
#include <Arduino.h>
#include "classA.h"
void ClassA::add(int a, int b) { result = a+b; return result; }
3. main.ino
Code:
#include <Arduino.h>
#include "classA.h"
ClassA classA; // here the name should begin with lower case for easier read.
void setup () { //setup code here }
void loop() { classA.add(1+2); }
3. classA.h
Code:
#ifndef classA_h
#define classA_h
#include <Arduino.h>
class ClassA { // the class name don't need to be same as filename
public:
int result;
void add(int a, int b) { result = a+b; return result; }
}