Sorry for the confusion. Here are the latest files. I am still getting an error message though.
Soda Demo:
// Soda Demo
#include "Soda.h"
Soda soda;
void setup() {
soda.pins(2, 3, 4, 5, 6, 7, 8, 9);
}
void loop() {
for(int i=0; i<10; i++) {
soda.write(i);
delay(1000);
}
}
Soda.h
#ifndef Soda_h
#define Soda_h
#include "Arduino.h"
class Soda
{
public:
uint8_t pins(int a, int b, int c, int d, int e, int f, int g, int dp);
void write(int number);
private:
int _a, _b, _c, _d, _e, _f, _g, _dp, _number;
const byte numeral[10];
const int segmentPins[8];
}
#endif
Soda.cpp
#include "Soda.h"
uint8_t Soda::pins(int a, int b, int c, int d, int e, int f, int g, int dp) {
_a=a;
_b=b;
_c=c;
_d=d;
_e=e;
_f=f;
_g=g;
_dp=dp;
segmentPins[0] = _dp;
segmentPins[1] = _g;
segmentPins[2] = _f;
segmentPins[3] = _e;
segmentPins[4] = _d;
segmentPins[5] = _c;
segmentPins[6] = _b;
segmentPins[7] = _a;
for(int i=0; i < 8; i++) {
pinMode(segmentPins[i], OUTPUT);
}
}
void Soda::write(int number) {
boolean isBitSet;
numeral[0] = B11111100; // 0
numeral[1] = B01100000; // 1
numeral[2] = B11011010; // 2
numeral[3] = B11110010; // 3
numeral[4] = B01100110; // 4
numeral[5] = B10110110; // 5
numeral[6] = B10111110; // 6
numeral[7] = B11100000; // 7
numeral[8] = B11111110; // 8
numeral[9] = B11100110; // 9
for(int segment=1; segment < 8; segment++) {
if(number < 0 || number > 9) {
isBitSet = 0;
}else{
isBitSet = bitRead(numeral[number], segment);
}
isBitSet = ! isBitSet;
digitalWrite(segmentPins[segment], isBitSet);
}
}
And here is the same error message that comes up with soda demo.
SodaDemo:2: error: new types may not be defined in a return type
SodaDemo.cpp:6: note: (perhaps a semicolon is missing after the definition of 'Soda')
SodaDemo:2: error: two or more data types in declaration of 'setup'
SodaDemo:4: error: structure 'soda' with uninitialized const members
Any Help?
Thanks,
Qtechknow