From 4176b75d05a851be6093eb1fee96b0b0f15a695f Mon Sep 17 00:00:00 2001 From: "foley@ru.is" Date: Tue, 10 Sep 2013 21:08:23 +0000 Subject: [PATCH] took out the extra pauses in the Toshiba SD590EKE. Removed the timer include (not needed). Updated the information in the branched SD1091 code. Finished implementation and testing of the SD1091 code. Added a space to the formatting of the second timer UI output. --- .../Synchronizer_Toshiba_SD1091EKE.pde | 65 +++++++++---------- .../Synchronizer_Toshiba_SD590EKE.pde | 25 +++---- dawn/readme.rtf | 8 --- dawn/readme.txt | 5 ++ 4 files changed, 44 insertions(+), 59 deletions(-) delete mode 100644 dawn/readme.rtf create mode 100644 dawn/readme.txt diff --git a/dawn/Synchronizer_Toshiba_SD1091EKE/Synchronizer_Toshiba_SD1091EKE.pde b/dawn/Synchronizer_Toshiba_SD1091EKE/Synchronizer_Toshiba_SD1091EKE.pde index f110c0b..fb0c20e 100644 --- a/dawn/Synchronizer_Toshiba_SD1091EKE/Synchronizer_Toshiba_SD1091EKE.pde +++ b/dawn/Synchronizer_Toshiba_SD1091EKE/Synchronizer_Toshiba_SD1091EKE.pde @@ -1,29 +1,29 @@ -/* DVD IR Synchronizer for Toshiba SD590EKE V1.0 - * Developed for Art Installation "Dawn" by Sigrun Hardardottir +/* DVD IR Synchronizer for Toshiba SD1091EKE + * Developed for Art Installation by Steina * Code written by Joe Foley * on 2013-09-08 * - * Based upon Sychronizer code by - * KHM 2010 / Martin Nawrath - * Kunsthochschule fuer Medien Koeln - * Academy of Media Arts Cologne - * * Requires libraries: - * MsTimer2 http://playground.arduino.cc/Main/MsTimer2 * Arduino-IRremote https://github.com/shirriff/Arduino-IRremote * + * More codes at http://www.lirc.org/ + * The compatible remote is SE-R0301 + * We use the codes for the SE-R0031 + * http://lirc.sourceforge.net/remotes/toshiba/SE-R0031 + * Note that this has some similar codes + * * The IRremote library uses Pin 3 for the Anode (longer pin) * We have made a ground pin on Pin 4 for the Cathode (shorter pin) + * + * */ - -#include #include int pinGND=4; // Longer leg on the IR LED int secs; -int playtime= 6*60+9; // set here ypur DVD title playtime in sec leave a little extra +int playtime= 1*60; // set here ypur DVD title playtime in sec leave a little extra //int playtime= 10; // testing IRsend irsend; @@ -32,8 +32,8 @@ void setup() { pinMode(pinGND,OUTPUT); Serial.begin(115200); - Serial.println("Toshiba DVD SD590EKE Synchronizer $Rev$"); - Serial.println("For \"Dawn\" by Sigrun Hardardottir"); + Serial.println("Toshiba DVD SD1091EKE Synchronizer $Rev$"); + Serial.println("For Steina"); Serial.println("Code by Joe Foley "); Serial.println("$URL$"); Serial.println("$Id$"); @@ -49,9 +49,7 @@ void setup() { // The DVD player starts playing automatically, so we should pause it send_pause(); - waitsec(1); - send_pause(); - waitsec(2); + waitsec(3); secs=playtime; } @@ -59,8 +57,9 @@ void setup() { /********************************************************************/ void loop() { Serial.println("Sync"); - send_play(); - + send_previous(); + // on this model, previous immediately starts playing + for(int t = 0; t < playtime; t++) { // This will not give us perfect 1 second timing // but it is good enough for most video applications @@ -79,41 +78,39 @@ void loop() { send_pause(); waitsec(1); - send_pause(); - waitsec(2); - - send_previous(); - waitsec(5); } /**************************************************************/ void waitsec(int sec) { - Serial.print("wait"); + Serial.print("Wait "); Serial.print(sec); - Serial.println("seconds"); + Serial.println(" seconds"); delay(sec*1000); } /********************************************************************/ + // NEC data format: first comes the pre-data bits, then the command code void send_stop() { - // First comes the pre-data bits, then the command code Serial.println(" stop"); irsend.sendNEC(0xA25D28D7,32); } /********************************************************************/ void send_play() { - // First comes the pre-data bits, then the command code - Serial.println(" play"); - irsend.sendNEC(0xA25DA857,32); + // Note that play and pause are a toggle for the same command + Serial.println(" play"); + irsend.sendNEC(0xA25DA857, 32); + } /********************************************************************/ -void send_pause() { - // First comes the pre-data bits, then the command code - Serial.println(" pause"); - irsend.sendNEC(0xA25D00FF, 32); +void send_pause() { + // On this model, pause and play are the same button so it toggles + // We use the "step" command which will always pause, no matter + // how many times we press it. + Serial.println(" step/pause"); + irsend.sendNEC(0xA25D00FF,32); } /********************************************************************/ @@ -121,4 +118,4 @@ void send_previous() { // First comes the pre-data bits, then the command code Serial.println(" previous"); irsend.sendNEC(0xA25DC43B, 32); -} +} diff --git a/dawn/Synchronizer_Toshiba_SD590EKE/Synchronizer_Toshiba_SD590EKE.pde b/dawn/Synchronizer_Toshiba_SD590EKE/Synchronizer_Toshiba_SD590EKE.pde index a6acf79..9a14885 100644 --- a/dawn/Synchronizer_Toshiba_SD590EKE/Synchronizer_Toshiba_SD590EKE.pde +++ b/dawn/Synchronizer_Toshiba_SD590EKE/Synchronizer_Toshiba_SD590EKE.pde @@ -1,23 +1,19 @@ -/* DVD IR Synchronizer for Toshiba SD590EKE V1.0 +/* DVD IR Synchronizer for Toshiba SD590EKE * Developed for Art Installation "Dawn" by Sigrun Hardardottir * Code written by Joe Foley * on 2013-09-08 * - * Based upon Sychronizer code by - * KHM 2010 / Martin Nawrath - * Kunsthochschule fuer Medien Koeln - * Academy of Media Arts Cologne - * * Requires libraries: - * MsTimer2 http://playground.arduino.cc/Main/MsTimer2 * Arduino-IRremote https://github.com/shirriff/Arduino-IRremote * + * IR Remote codes from SE-R0313 + * http://lirc.sourceforge.net/remotes/toshiba/SE-R0313 + * * The IRremote library uses Pin 3 for the Anode (longer pin) * We have made a ground pin on Pin 4 for the Cathode (shorter pin) */ -#include #include int pinGND=4; // Longer leg on the IR LED @@ -49,9 +45,7 @@ void setup() { // The DVD player starts playing automatically, so we should pause it send_pause(); - waitsec(1); - send_pause(); - waitsec(1); + waitsec(2); secs=playtime; } @@ -60,7 +54,7 @@ void setup() { void loop() { Serial.println("Sync"); send_previous(); - waitsec(3); + waitsec(2); send_play(); for(int t = 0; t < playtime; t++) { @@ -81,16 +75,13 @@ void loop() { send_pause(); waitsec(1); - send_pause(); - waitsec(1); - } /**************************************************************/ void waitsec(int sec) { - Serial.print("wait"); + Serial.print("Wait "); Serial.print(sec); - Serial.println("seconds"); + Serial.println(" seconds"); delay(sec*1000); } diff --git a/dawn/readme.rtf b/dawn/readme.rtf deleted file mode 100644 index 0fc20c9..0000000 --- a/dawn/readme.rtf +++ /dev/null @@ -1,8 +0,0 @@ -{\rtf1\mac\ansicpg10000\cocoartf949\cocoasubrtf540 -{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\paperw11900\paperh16840\margl1440\margr1440\vieww13280\viewh7500\viewkind0 -\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural - -\f0\fs24 \cf0 to install arduino libraries unzip them into Documents/Arduino/libraries\ -} \ No newline at end of file diff --git a/dawn/readme.txt b/dawn/readme.txt new file mode 100644 index 0000000..5bea295 --- /dev/null +++ b/dawn/readme.txt @@ -0,0 +1,5 @@ +To install arduino libraries put them in +Documents/Arduino/libraries + +Directions on setting up the IR remote system are at +http://www.righto.com/2009/08/multi-protocol-infrared-remote-library.html