Help understanding error messages

Hey I am writing a program for a data logger and am having trouble compiling my code. It is not complete yet but so far this code is not compiling. Can anyone shed any light on the error messages? Thanks!

Arduino: 1.6.4 (Windows 7), Board: "Arduino Micro"

Helix_Data_Logger.cpp.o: In function setup': C:\Program Files (x86)\Arduino/Helix_Data_Logger.ino:100: undefined reference todelay' SD\utility\Sd2Card.cpp.o: In function Sd2Card::waitNotBusy(unsigned int)': C:\Program Files (x86)\Arduino\libraries\SD\src\utility/Sd2Card.cpp:532: undefined reference tomillis' C:\Program Files (x86)\Arduino\libraries\SD\src\utility/Sd2Card.cpp:536: undefined reference to millis' SD\utility\Sd2Card.cpp.o: In functionSd2Card::init(unsigned char, unsigned char)': C:\Program Files (x86)\Arduino\libraries\SD\src\utility/Sd2Card.cpp:246: undefined reference to millis' C:\Program Files (x86)\Arduino\libraries\SD\src\utility/Sd2Card.cpp:286: undefined reference tomillis' C:\Program Files (x86)\Arduino\libraries\SD\src\utility/Sd2Card.cpp:308: undefined reference to millis' SD\utility\Sd2Card.cpp.o:C:\Program Files (x86)\Arduino\libraries\SD\src\utility/Sd2Card.cpp:542: more undefined references tomillis' follow OBD\OBD.cpp.o: In function COBD::begin(unsigned long)': R:\Users\Ryan\Documents\Arduino\libraries\OBD/OBD.cpp:260: undefined reference todelay' OBD\OBD.cpp.o: In function COBD::recover()': R:\Users\Ryan\Documents\Arduino\libraries\OBD/OBD.cpp:299: undefined reference todelay' OBD\OBD.cpp.o: In function COBD::init(unsigned char)': R:\Users\Ryan\Documents\Arduino\libraries\OBD/OBD.cpp:319: undefined reference todelay' R:\Users\Ryan\Documents\Arduino\libraries\OBD/OBD.cpp:326: undefined reference to delay' R:\Users\Ryan\Documents\Arduino\libraries\OBD/OBD.cpp:343: undefined reference todelay' C:\Users\Ryan\AppData\Local\Temp\build5141345344139013706.tmp/core.a(main.cpp.o): In function main': C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/main.cpp:32: undefined reference toinit' C:\Users\Ryan\AppData\Local\Temp\build5141345344139013706.tmp/core.a(USBCore.cpp.o): In function USB_Send(unsigned char, void const*, int)': C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/USBCore.cpp:284: undefined reference todelay' C:\Users\Ryan\AppData\Local\Temp\build5141345344139013706.tmp/core.a(USBCore.cpp.o): In function USBDevice_::attach()': C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/USBCore.cpp:675: undefined reference todelay' collect2.exe: error: ld returned 1 exit status Error compiling.

This report would have more information with "Show verbose output during compilation" enabled in File > Preferences.

All of the errors being reported are coming from the code in two of the libraries, Sd2Card and OBD. Can you post those?

I thought that was the problem but I was not sure what to do from there. The SD library is the one that comes with the Arduino interface. I think the OBD library is from the UART adapter I bought but it’s been over a year since I added that library and I haven’t touched it.

SD.h (2.64 KB)

I posted the wrong SD library.

Sd2Card.h (9.23 KB)

Here’s the OBD library. Sorry for the multipe posts. I thought I posted this with the first one.

Btw I plan on using a nano for the final build but I burnt up the one I had and am waiting on another nano. I had a micro laying around but it’s super annoying with the serial workarounds

OBD.h (5.94 KB)

We need the .cpp files too, not just the .h files......

But looking at those errors, they seem to be suggesting a problem with millis() and delay(), both functions that should be provided by the core. Similarly, I see main complaining that init isn't defined, and init should be defined in the core. Are you using a custom core? If so, is it installed correctly and not mangled?

Can you even compile a blank sketch, or blink with that board selected?

DrAzzy:
We need the .cpp files too, not just the .h files…

But looking at those errors, they seem to be suggesting a problem with millis() and delay(), both functions that should be provided by the core. Similarly, I see main complaining that init isn’t defined, and init should be defined in the core. Are you using a custom core? If so, is it installed correctly and not mangled?

Can you even compile a blank sketch, or blink with that board selected?

I’m not sure what a custom core is?

I am able to compile a blank sketch as well as all the examples that come with the software. At least the one’s I had tried. I tested the adafruit thermocouple, OBD uart, and SD card examples and they all compiled file and wrote to the board ok.

OBD.cpp (10.2 KB)

Sd2Card.cpp (20.7 KB)

Have you installed the libraries correctly?

Clearly not as it compiles for me - put each library in a separate subdirectory of the "libraries" subdirectory of your sketchbook directory.

You neglected to post the Adafruit_MAX31855 library which is also required to compile your sketch.

MarkT: Have you installed the libraries correctly?

Clearly not as it compiles for me - put each library in a separate subdirectory of the "libraries" subdirectory of your sketchbook directory.

You neglected to post the Adafruit_MAX31855 library which is also required to compile your sketch.

Yes I added them through the menu in the Arduino software. The SD library came with the software. I only added the OBD library. I just tried recompiling everything and it now seems to compile ok. I'm not sure why I kept getting those errors about an hour ago.

Thanks for the help everyone