0

My code keeps saying that that Button_8 and the rest of the #define macros are out of scope.

#include <IRLib.h>
#include <Servo.h>
#define MY_PROTOCOL SONY
#define RIGHT_ARROW 0xfd50af //Move several clockwise
#define LEFT_ARROW 0xfd10ef //Move servo counterclockwise
#define SELECT_BUTTON 0xfd906f //Center the servo
#define UP_ARROW 0xfda05f //Increased number of degrees servo 
#define DOWN_ARROW 0xfdb04f //Decrease number of degrees servo moves
#define BUTTON_0 0xfd30cf //Pushing buttons 0-9 moves to fixed positions
#define BUTTON_1 0xfd08f7 // each 20 degrees greater
#define BUTTON_2 0xfd8877
#define BUTTON_3 0xfd48b7
#define BUTTON_4 0xfd28d7
#define BUTTON_5 0xfda857
#define BUTTON_6 0xfd6897
#define BUTTON_7 0xfd18e7
#define BUTTON_8 0xfd9867
#define BUTTON_9 0xfd58a7
IRrecv My_Receiver(11);//Receive on pin 11
IRdecode My_Decoder; 
long Previous;
Servo myservo2;
Servo myservo; 
void setup() 
{
myservo.attach(8); 
myservo2.attach(3);
My_Receiver.enableIRIn();
}
void loop() 
{
 if (My_Receiver.GetResults(&My_Decoder))
{
 My_Decoder.decode();
 if(My_Decoder.decode_type==MY_PROTOCOL) 
 {
 if(My_Decoder.value==0xFFFFFFFF)
 My_Decoder.value= Previous;
 if(My_Decoder.value == Button_9)
 {
 myservo.write(0);
 myservo2.write(180);
 }
 else if(My_Decoder.value == Button_8)
 {
 myservo.write(180);
 myservo2.write(180);
 }
 }
}
}

when i use a switch statement instead of the 4 and 5 if statement like so:

switch(My_Decoder.value) {
 case Button_8: //do something; break;

it works, but i dont know why.

asked Dec 20, 2015 at 19:36

1 Answer 1

2

C++ is case-sensitive. Button_8 is different from BUTTON_8.

answered Dec 20, 2015 at 19:38

Your Answer

Draft saved
Draft discarded

Sign up or log in

Sign up using Google
Sign up using Email and Password

Post as a guest

Required, but never shown

Post as a guest

Required, but never shown

By clicking "Post Your Answer", you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.