Go Down

Topic: WProgram.h: No such file or directory (Read 34931 times) previous topic - next topic

salim_yilmaz

I want to download MAX6675 library.But I'm getting the following error:

In file included from Single_Temp.pde:6:
C:\Users\salim\Documents\Arduino\libraries\max6675arduinolibrary/MAX6675.h:9:22: error: WProgram.h: No such file or directory
Single_Temp.pde:21:4: error: #else without #if
Single_Temp.pde:23:4: error: #endif without #if
Single_Temp:11: error: conflicting declaration 'int SCK'
C:\Program Files\arduino-1.0.3\hardware\arduino\variants\mega/pins_arduino.h:38: error: 'SCK' has a previous declaration as 'const uint8_t SCK'
Single_Temp:19: error: 'CS0' was not declared in this scope

How I can fix this problem?

HazardsMind

You have to go into the .h and .cpp files and change "WProgram.h" to Arduino.h
My GitHub:
https://github.com/AndrewMascolo?tab=repositories

salim_yilmaz

I tried, but nothing can be changed

HazardsMind

Quote
I tried, but nothing can be changed
Then you didn't try hard enough, sorry to say. Do you have Notepad or some rendition of it? Try to download Notepad++ notepad-plus-plus.org/

Once you have notepad, go to your library folder, find the library your using and open the .h and .cpp file in notepad.

My GitHub:
https://github.com/AndrewMascolo?tab=repositories

salim_yilmaz

I've tried everything.Please help the library users

HazardsMind

Were you able to open the .h and .cpp files? Did you change the WProgram.h to Arduino.h? Did you save the files and reset the program?

What exactly did you do, when you say everything? Maybe attach the two codes below, so I can see what you have done.
My GitHub:
https://github.com/AndrewMascolo?tab=repositories

salim_yilmaz

#6
Feb 08, 2013, 04:43 pm Last Edit: Feb 08, 2013, 10:49 pm by Nick Gammon Reason: 1
i  fixed this problem but This time I'm getting the following error:


Single_Temp:19: error: 'MAX6675' does not name a type
Single_Temp.pde: In function 'void loop()':
Single_Temp:31: error: 'temp0' was not declared in this scope

.cpp file:

Code: [Select]


/*
 MAX6675.cpp - Library for reading temperature from a MAX6675.
 Created by Ryan McLaughlin <ryanjmclaughlin@gmail.com>
*/

#include <Arduino.h>
#include <MAX6675.h>

MAX6675::MAX6675(int CS_pin, int SO_pin, int SCK_pin, int units, float error)
{
 pinMode(CS_pin, OUTPUT);
 pinMode(SO_pin, INPUT);
 pinMode(SCK_pin, OUTPUT);
 
 digitalWrite(CS_pin, HIGH);
 
 _CS_pin = CS_pin;
 _SO_pin = SO_pin;
 _SCK_pin = SCK_pin;
 _units = units;
 _error = error;
}

float MAX6675::read_temp(int samples)
{
 int value = 0;
 int error_tc = 0;
 float temp = 0;
 
 for (int i=samples; i>0; i--){

   digitalWrite(_CS_pin,LOW); // Enable device

   /* Cycle the clock for dummy bit 15 */
   digitalWrite(_SCK_pin,HIGH);
   digitalWrite(_SCK_pin,LOW);

   /* Read bits 14-3 from MAX6675 for the Temp
      Loop for each bit reading the value and
      storing the final value in 'temp'
   */
   for (int i=11; i>=0; i--){
     digitalWrite(_SCK_pin,HIGH);  // Set Clock to HIGH
     value += digitalRead(_SO_pin) << i;  // Read data and add it to our variable
     digitalWrite(_SCK_pin,LOW);  // Set Clock to LOW
   }
 
   /* Read the TC Input inp to check for TC Errors */
   digitalWrite(_SCK_pin,HIGH); // Set Clock to HIGH
   error_tc = digitalRead(_SO_pin); // Read data
   digitalWrite(_SCK_pin,LOW);  // Set Clock to LOW
 
   digitalWrite(_CS_pin, HIGH); //Disable Device
 }
 
 value = value/samples;  // Divide the value by the number of samples to get the average
 
 /*
    Keep in mind that the temp that was just read is on the digital scale
    from 0ËšC to 1023.75ËšC at a resolution of 2^12.  We now need to convert
    to an actual readable temperature (this drove me nuts until I figured
    this out!).  Now multiply by 0.25.  I tried to avoid float math but
    it is tough to do a good conversion to ËšF.  THe final value is converted
    to an int and returned at x10 power.
   
  */
 
 value = value + _error;                  // Insert the calibration error value
 
 if(_units == 0) {                        // Request temp in ËšF
   temp = ((value*0.25) * (9.0/5.0)) + 32.0;   // Convert value to ËšF (ensure proper floats!)
 } else if(_units == 1) {                  // Request temp in ËšC
   temp = (value*0.25);                  // Multiply the value by 0.25 to get temp in ËšC
 }
 
 /* Output -1 if there is a TC error, otherwise return 'temp' */
 if(error_tc != 0) {
   return -1;
 } else {
   return temp;
 }
}



thanks for your helps...

Moderator edit: [code] ... [/code] tags added. (Nick Gammon)

HazardsMind

My GitHub:
https://github.com/AndrewMascolo?tab=repositories

AWOL

In MAX6675.h, I changed "WProgram.h" to "Arduino.h"
In MAX6675.cpp, I changed "WProgram.h" to "Arduino.h" (or you can delete the #include completely)

In the "read_temp" example, I changed
Code: [Select]
int SCKpin = 13;             // SCK pin of MAX6675
int units = 2;            // Units to readout temp (0 = raw, 1 = ?C, 2 = ?F)
float temperature = 0.0;  // Temperature output variable


// Initialize the MAX6675 Library for our chip
MAX6675 temp(CS,SO,SCKpin,units);

and I got the error message
Quote
Binary sketch size: 5264 bytes (of a 14336 byte maximum)

(Compiling on 1.0 for a 2009)

OP, please use code tags when posting code.
"Pete, it's a fool looks for logic in the chambers of the human heart." Ulysses Everett McGill.
Do not send technical questions via personal messaging - they will be ignored.

salim_yilmaz

i'm sorry awol. I didn't know. Can we solve this problem?

AWOL

#10
Feb 08, 2013, 05:05 pm Last Edit: Feb 08, 2013, 05:08 pm by AWOL Reason: 1
Yes, I just told you in the PM, we can solve this problem.
But only when you post your sketch in code tags on the forum, plus the exact error message you're getting.
I don't do PM help-desk.
"Pete, it's a fool looks for logic in the chambers of the human heart." Ulysses Everett McGill.
Do not send technical questions via personal messaging - they will be ignored.

salim_yilmaz

Hi,

I want to use max6675 library but ? have compile error.
this error:

In file included from Single_Temp.ino:6:
C:\Users\f\Documents\Arduino\libraries\max66library/MAX6675.h:9:22: error: WProgram.h: No such file or directory

Can you help me?

Nick Gammon

Please post technical questions on the forum, not by personal message. Thanks!

More info:
http://www.gammon.com.au/electronics

Nick Gammon

Please do not cross-post. This wastes time and resources as people attempt to answer your question on multiple threads.

Threads merged.

- Moderator
Please post technical questions on the forum, not by personal message. Thanks!

More info:
http://www.gammon.com.au/electronics

AWOL

"Pete, it's a fool looks for logic in the chambers of the human heart." Ulysses Everett McGill.
Do not send technical questions via personal messaging - they will be ignored.

Go Up