X-Git-Url: https://git.realraum.at/?a=blobdiff_plain;f=rf433ctl%2Frf433ctl.pde;h=ca214f704866a52cc31d0b79d5eac291bac23052;hb=261cd787a2c81663849b6638be5f5b444a8e9ad0;hp=a7d187af66d05b43aa52927fcd4b3e4e00e21e4c;hpb=a0e83b162b3af93aa7b33503e7520f5c5ac58d7e;p=svn42.git diff --git a/rf433ctl/rf433ctl.pde b/rf433ctl/rf433ctl.pde index a7d187a..ca214f7 100644 --- a/rf433ctl/rf433ctl.pde +++ b/rf433ctl/rf433ctl.pde @@ -11,7 +11,8 @@ #define IR_MOVEMENT_PIN 9 #define ONE_WIRE_PIN 8 #define PANIC_BUTTON_PIN 7 -#define BLUELED_PWM_PIN 6 +#define BLUELED_PWM_PIN 5 +#define PANICLED_PWM_PIN 6 #define BLUELED2_PWM_PIN 11 #define PHOTO_ANALOGPIN 0 //movement is reported if during IR_SAMPLE_DURATION at least IR_TRESHOLD ir signals are detectd @@ -32,7 +33,7 @@ IRsend irsend; //********************************************************************// // IR Codes, 32 bit, NEC const int YAMAHA_CODE_BITS = 32; -const char YAMAHA_CODE_BASE = 0x000000005EA10000; +const unsigned long int YAMAHA_CODE_BASE = 0x0000000005EA10000; const char YAMAHA_POWER_TOGGLE =0xF8; //Power On/Off const char YAMAHA_POWER_OFF =0x78; //Power Off !!! @@ -44,7 +45,7 @@ const char YAMAHA_TAPE =0x18; //Input Toggle Tape/CD const char YAMAHA_DVD_SPDIF =0xE8; //Input Toggle DVD Auto / DVD Analog const char YAMAHA_SAT_SPDIFF =0x2A; //Input Toggle Sat-DTV Auto / Sat-DTV Analog const char YAMAHA_AUX =0xAA; //Input AUX (mode) -const char YAMAHA_VCR_1 =0xF0; //Input VCR +const char YAMAHA_VCR =0xF0; //Input VCR const char YAMAHA_EXT51DEC =0xE1; //Input Ext. Decoder On/Off const char YAMAHA_TUNER_PLUS =0x08; //Tuner Next Station 1-7 (of A1 - E7) @@ -63,7 +64,7 @@ const char YAMAHA_VOLUME_DOWN =0xD8; const char YAMAHA_PLUS =0x4A; //unteres Steuerkreuz: Taste Rechts (Plus) const char YAMAHA_MINUS =0xCA; //unteres Steuerkreuz: Taste Links (Minus) const char YAMAHA_MENU =0x39; // Menu: Settings -const char YAMAHA_TEST =0xA1 // Test Sounds +const char YAMAHA_TEST =0xA1; // Test Sounds const char YAMAHA_TIME_LEVEL =0x19; //Settings for Delay, Subwfs, Right Surround, Left Surround, Center const char YAMAHA_TIME_LEVEL2 =0x61; //(also) Settings for Delay, Subwfs, Right Surround, Left Surround, Center const char YAMAHA_TIME_LEVEL3 =0x99; //(also) Settings for Delay, Subwfs, Right Surround, Left Surround, Center @@ -80,7 +81,7 @@ const char YAMAHA_EFFECT6 =0x51; //Effect Toggle 70mm General / 70mm Adventure const char YAMAHA_P5 =0xFB; //P5 PRT (1 Main Bypass)? (1587674115) -void send_std_nec_ir_signal(char codebyte) +void send_yamaha_ir_signal(char codebyte) { unsigned long int code = codebyte & 0xFF; code <<= 8; @@ -355,9 +356,9 @@ void calculate_led_level(unsigned int pwm_pin) if (flash_led_brightness_ == 255) { if (flash_led_time_) - analogWrite(BLUELED_PWM_PIN, 255-c); + analogWrite(PANICLED_PWM_PIN, c); else - analogWrite(BLUELED_PWM_PIN, c); + analogWrite(PANICLED_PWM_PIN, 255-c); } } @@ -379,10 +380,11 @@ void setup() pinMode(RF_DATA_OUT_PIN, OUTPUT); digitalWrite(RF_DATA_OUT_PIN, HIGH); pinMode(IR_MOVEMENT_PIN, INPUT); // set pin to input - digitalWrite(IR_MOVEMENT_PIN, LOW); // turn off pullup resistors + digitalWrite(IR_MOVEMENT_PIN, LOW); // turn off pulldown resistors pinMode(PANIC_BUTTON_PIN, INPUT); // set pin to input - digitalWrite(PANIC_BUTTON_PIN, HIGH); // turn on pullup resistors - analogWrite(BLUELED_PWM_PIN,0); + digitalWrite(PANIC_BUTTON_PIN, LOW); // turn on pulldown resistors + analogWrite(BLUELED_PWM_PIN,255); + analogWrite(PANICLED_PWM_PIN,255); analogWrite(BLUELED2_PWM_PIN,255); //pwm sink(-) instead of pwm + (better for mosfets) pinMode(IRREMOTE_SEND_PIN, OUTPUT); digitalWrite(IRREMOTE_SEND_PIN, HIGH); @@ -419,7 +421,7 @@ void loop() if (pb_time < PB_TRESHOLD) pb_time++; - pb_state=(digitalRead(PANIC_BUTTON_PIN) == LOW); + pb_state=(digitalRead(PANIC_BUTTON_PIN) == HIGH); if (ir_time == 0) { @@ -438,7 +440,7 @@ void loop() { pb_postth_state=1; Serial.println("PanicButton"); - flash_led(7,1,2); + flash_led(14,1,2); } else if (!pb_state) pb_postth_state=0; @@ -450,7 +452,7 @@ void loop() } updateLightLevel(PHOTO_ANALOGPIN); - calculate_led_level(BLUELED_PWM_PIN); + calculate_led_level(PANICLED_PWM_PIN); check_frame_done(); if(Serial.available()) { @@ -501,41 +503,48 @@ void loop() sensorEchoCommand(command); printLightLevel(); } + else if (command == '0') + send_yamaha_ir_signal(YAMAHA_POWER_OFF); else if (command == '1') - { - irsend.sendNEC(YAMAHA_POWER,YAMAHA_CODE_BITS); - Serial.println("Ok"); - } + send_yamaha_ir_signal(YAMAHA_POWER_TOGGLE); else if (command == '2') - { - irsend.sendNEC(YAMAHA_CD,YAMAHA_CODE_BITS); - Serial.println("Ok"); - } + send_yamaha_ir_signal(YAMAHA_VOLUME_UP); else if (command == '3') - { - irsend.sendNEC(YAMAHA_DVD_SPDIF,YAMAHA_CODE_BITS); - Serial.println("Ok"); - } + send_yamaha_ir_signal(YAMAHA_VOLUME_DOWN); else if (command == '4') - { - irsend.sendNEC(YAMAHA_TUNER,YAMAHA_CODE_BITS); - Serial.println("Ok"); - } + send_yamaha_ir_signal(YAMAHA_MUTE); else if (command == '5') - { - irsend.sendNEC(YAMAHA_VOLUME_UP,YAMAHA_CODE_BITS); - Serial.println("Ok"); - } + send_yamaha_ir_signal(YAMAHA_CD); else if (command == '6') - { - irsend.sendNEC(YAMAHA_VOLUME_DOWN,YAMAHA_CODE_BITS); - Serial.println("Ok"); - } + send_yamaha_ir_signal(YAMAHA_TUNER); else if (command == '7') - { - irsend.sendNEC(YAMAHA_MUTE,YAMAHA_CODE_BITS); - Serial.println("Ok"); - } + send_yamaha_ir_signal(YAMAHA_DVD_SPDIF); + else if (command == '8') + send_yamaha_ir_signal(YAMAHA_MENU); + else if (command == '+') + send_yamaha_ir_signal(YAMAHA_PLUS); + else if (command == '-') + send_yamaha_ir_signal(YAMAHA_MINUS); + else if (command == 'ยง') + send_yamaha_ir_signal(YAMAHA_TEST); + else if (command == '$') + send_yamaha_ir_signal(YAMAHA_TIME_LEVEL); + else if (command == '%') + send_yamaha_ir_signal(YAMAHA_EFFECT_TOGGLE); + else if (command == '&') + send_yamaha_ir_signal(YAMAHA_PRG_DOWN); + else if (command == '/') + send_yamaha_ir_signal(YAMAHA_PRG_UP); + else if (command == '(') + send_yamaha_ir_signal(YAMAHA_TUNER_PLUS); + else if (command == ')') + send_yamaha_ir_signal(YAMAHA_TUNER_ABCDE); + else if (command == '9') + send_yamaha_ir_signal(YAMAHA_TAPE); + else if (command == '?') + send_yamaha_ir_signal(YAMAHA_VCR); + else if (command == '=') + send_yamaha_ir_signal(YAMAHA_EXT51DEC); else Serial.println("Error: unknown command"); }