ArduinoLibs
RC5.h
00001 /*
00002  * Copyright (C) 2012 Southern Storm Software, Pty Ltd.
00003  *
00004  * Permission is hereby granted, free of charge, to any person obtaining a
00005  * copy of this software and associated documentation files (the "Software"),
00006  * to deal in the Software without restriction, including without limitation
00007  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
00008  * and/or sell copies of the Software, and to permit persons to whom the
00009  * Software is furnished to do so, subject to the following conditions:
00010  *
00011  * The above copyright notice and this permission notice shall be included
00012  * in all copies or substantial portions of the Software.
00013  *
00014  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
00015  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
00016  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
00017  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
00018  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
00019  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
00020  * DEALINGS IN THE SOFTWARE.
00021  */
00022 
00023 #ifndef RC5_h
00024 #define RC5_h
00025 
00026 // http://en.wikipedia.org/wiki/RC-5#System_Number_Allocations
00027 #define RC5_SYS_TV              0   // TV receiver 1
00028 #define RC5_SYS_TV2             1   // TV receiver 2
00029 #define RC5_SYS_TXT             2   // Teletext
00030 #define RC5_SYS_TV_EXT          3   // Extension to TV 1 & 2
00031 #define RC5_SYS_LV              4   // Laservision player
00032 #define RC5_SYS_VCR             5   // VCR 1
00033 #define RC5_SYS_VCR2            6   // VCR 2
00034 #define RC5_SYS_SAT             8   // Satellite receiver 1
00035 #define RC5_SYS_VCR_EXT         9   // Extension to VCR 1 & 2
00036 #define RC5_SYS_SAT2            10  // Satellite receiver 2
00037 #define RC5_SYS_CD_VIDEO        12  // CD video player
00038 #define RC5_SYS_CD_PHOTO        14  // CD photo player
00039 #define RC5_SYS_PREAMP          16  // Audio preamplifier 1
00040 #define RC5_SYS_RADIO           17  // Radio tuner
00041 #define RC5_SYS_REC             18  // Casette recorder 1
00042 #define RC5_SYS_PREAMP2         19  // Audio preamplifier 2
00043 #define RC5_SYS_CD              20  // CD player
00044 #define RC5_SYS_COMBI           21  // Audio stack or record player
00045 #define RC5_SYS_AUDIO_SAT       22  // Audio satellite
00046 #define RC5_SYS_REC2            23  // Casette recorder 2
00047 #define RC5_SYS_CD_R            26  // CD recorder
00048 
00049 // http://en.wikipedia.org/wiki/RC-5#Command_Tables
00050 // Table 2, Common commands:
00051 #define RC5_0                   0   // Digit 0
00052 #define RC5_1                   1   // Digit 1
00053 #define RC5_2                   2   // Digit 2
00054 #define RC5_3                   3   // Digit 3
00055 #define RC5_4                   4   // Digit 4
00056 #define RC5_5                   5   // Digit 5
00057 #define RC5_6                   6   // Digit 6
00058 #define RC5_7                   7   // Digit 7
00059 #define RC5_8                   8   // Digit 8
00060 #define RC5_9                   9   // Digit 9
00061 #define RC5_INC_VOLUME          16  // Increase sound volume
00062 #define RC5_DEC_VOLUME          17  // Decrease sound volume
00063 #define RC5_INC_BRIGHTNESS      18  // Increase display brightness
00064 #define RC5_DEC_BRIGHTNESS      19  // Decrease display brightness
00065 #define RC5_INC_BASS            22  // Increase bass response
00066 #define RC5_DEC_BASS            23  // Decrease bass response
00067 #define RC5_INC_TREBLE          24  // Increase treble response
00068 #define RC5_DEC_TREBLE          25  // Decrease treble response
00069 #define RC5_BALANCE_LEFT        26  // Shift sound balance to left
00070 #define RC5_BALANCE_RIGHT       27  // Shift sound balance to right
00071 #define RC5_TRANSMIT_MODE       63  // Select remote transmit mode
00072 #define RC5_DIM                 71  // Dim local display
00073 #define RC5_INC_LINEAR          77  // Increase linear control
00074 #define RC5_DEC_LINEAR          78  // Decrease linear control
00075 #define RC5_UP                  80  // Move cursor up
00076 #define RC5_DOWN                81  // Move cursor down
00077 #define RC5_MENU_ON             82  // Switch display/screen menu on
00078 #define RC5_MENU_OFF            83  // Switch display/screen menu off
00079 #define RC5_AV_STATUS           84  // Display A/V system status
00080 #define RC5_LEFT                85  // Move cursor left
00081 #define RC5_RIGHT               86  // Move cursor right
00082 #define RC5_OK                  87  // Acknowledge function at cursor
00083 #define RC5_SUBMODE             118 // Select sub-mode
00084 #define RC5_OPTIONS             119 // Select options sub-mode
00085 #define RC5_CONNECT_EURO        123 // Connect items via Euroconnector
00086 #define RC5_DISCONNECT_EURO     124 // Disconnect items via Euroconnector
00087 
00088 // http://en.wikipedia.org/wiki/RC-5#Command_Tables
00089 // Table 3, Common video system commands:
00090 #define RC5_INC_SATURATION      20  // Increase color saturation
00091 #define RC5_DEC_SATURATION      21  // Decrease color saturation
00092 #define RC5_PIP                 88  // Picture-in-picture on/off
00093 #define RC5_PIP_SHIFT           89  // Picture-in-picture shift
00094 #define RC5_PIP_SWAP            90  // Picture-in-picture swap
00095 #define RC5_PIP_STROBE          91  // Strobe main picture on/off
00096 #define RC5_PIP_MULTI_STROBE    92  // Multi-strobe
00097 #define RC5_PIP_FREEZE_MAIN     93  // Main picture frame frozen
00098 #define RC5_PIP_MULTI_SCAN      94  // 3/9 multi-scan
00099 #define RC5_PIP_SOURCE          95  // Select picture-in-picture source
00100 #define RC5_PIP_MOSAIC          96  // Mosaic/multi-PIP
00101 #define RC5_PIP_NOISE           97  // Digital noise reduction of picture
00102 #define RC5_PIP_STORE           98  // Store main picture
00103 #define RC5_PIP_PHOTO_FINISH    99  // PIP strobe; display photo-finish
00104 #define RC5_PIP_RECALL          100 // Recall main stored picture
00105 #define RC5_PIP_FREEZE          101 // Freeze PIP
00106 #define RC5_PIP_UP              102 // Step up PIP options/source
00107 #define RC5_PIP_DOWN            103 // Step down PIP options/source
00108 
00109 // http://en.wikipedia.org/wiki/RC-5#Command_Tables
00110 // Table 4a, TV and VCR commands:
00111 #define RC5_123                 10  // 1/2/3 digit entry
00112 #define RC5_11                  11  // Channel/program/frequency 11
00113 #define RC5_STANDBY             12  // Standby
00114 #define RC5_MUTE                13  // Master mute/de-mute
00115 #define RC5_PREFERENCES         14  // Personal preference settings
00116 #define RC5_DISPLAY_INFO        15  // Display user info on screen
00117 #define RC5_INC_CONTRAST        28  // Increase picture contrast
00118 #define RC5_DEC_CONTRAST        29  // Decrease picture contrast
00119 #define RC5_SEARCH_UP           30  // Search up
00120 #define RC5_DEC_TINT            31  // Decrease tint/hue
00121 #define RC5_CHANNEL_UP          32  // Channel/program up
00122 #define RC5_CHANNEL_DOWN        33  // Channel/program down
00123 #define RC5_CHANNEL_LAST        34  // Last viewed channel/program
00124 #define RC5_STEREO_SELECT       35  // Select stereo channel/language
00125 #define RC5_STEREO_SPATIAL      36  // Spatial stereo
00126 #define RC5_STEREO_TOGGLE       37  // Toggle stereo/mono
00127 #define RC5_SLEEP_TIMER         38  // Sleep timer
00128 #define RC5_INC_TINT            39  // Increase tint/hue
00129 #define RC5_SWITCH_RF           40  // Switch RF inputs
00130 #define RC5_STORE               41  // Store/vote
00131 #define RC5_TIME                42  // Display time
00132 #define RC5_INC_SCAN            43  // Scan forward/increment
00133 #define RC5_DEC_SCAN            44  // Scan backward/decrement
00134 #define RC5_SECONDARY_MENU      46  // Secondary menu
00135 #define RC5_CLOCK               47  // Show clock
00136 #define RC5_PAUSE               48  // Pause
00137 #define RC5_ERASE               49  // Erase/correct entry
00138 #define RC5_REWIND              50  // Rewind
00139 #define RC5_GOTO                51  // Go to
00140 #define RC5_WIND                52  // Wind (fast forward)
00141 #define RC5_PLAY                53  // Play
00142 #define RC5_STOP                54  // Stop
00143 #define RC5_RECORD              55  // Record
00144 #define RC5_EXTERNAL1           56  // External 1
00145 #define RC5_EXTERNAL2           57  // External 2
00146 #define RC5_VIEW_DATA           59  // View data, advance
00147 #define RC5_12                  60  // Channel 12 (or TXT/TV toggle)
00148 #define RC5_SYSTEM_STANDBY      61  // System standby
00149 #define RC5_CRISP               62  // Picture crispener (coutour boost)
00150 #define RC5_AUDIO_RESPONSE      70  // Audio response for speech/music
00151 #define RC5_SOUND_FUNCTIONS     79  // Select sound functions in sequence
00152 #define RC5_PIP_SIZE            104 // Alter PIP size step-by-step
00153 #define RC5_VISION_FUNCTIONS    105 // Select vision functions in sequence
00154 #define RC5_COLOR_KEY           106 // Colored or other special key
00155 #define RC5_RED                 107 // Red button
00156 #define RC5_GREEN               108 // Green button
00157 #define RC5_YELLOW              109 // Yellow button
00158 #define RC5_CYAN                110 // Cyan button
00159 #define RC5_INDEX               111 // Index page/white function
00160 #define RC5_NEXT_OPTION         112 // Next option
00161 #define RC5_PREVIOUS_OPTION     113 // Previous option
00162 #define RC5_STORE_OPEN_CLOSE    122 // Store open/close
00163 #define RC5_PARENTAL_ACCESS     123 // Parental access via PIN code
00164 
00165 // http://en.wikipedia.org/wiki/RC-5#Command_Tables
00166 // Table 4b, TV1 and TV2 extension
00167 #define RC5_DEFAULT_VIDEO       10  // Default video settings (TV1)
00168 #define RC5_DEFAULT_AUDIO       11  // Default audio settings (TV1)
00169 #define RC5_PAYTV_CHANNEL_UP    28  // Pay TV channel up (TV1)
00170 #define RC5_PAYTV_CHANNEL_DOWN  29  // Pay TV channel down (TV1)
00171 #define RC5_RADIO_CHANNEL_UP    30  // Radio channel up (TV1)
00172 #define RC5_RADIO_CHANNEL_DOWN  31  // Radio channel down (TV1)
00173 #define RC5_TILT_FORWARD        32  // Tilt cabinet forward (TV1)
00174 #define RC5_TILT_BACKWARD       33  // Tilt cabinet backward (TV1)
00175 #define RC5_EXTERNAL3           56  // External 3 (TV1)
00176 #define RC5_EXTERNAL4           56  // External 4 (TV1)
00177 #define RC5_PICTURE_FORMAT      62  // 4:3 vs 16:9 (TV1)
00178 #define RC5_CHANNEL_10          67  // Channel 10
00179 #define RC5_CHANNEL_11          68  // Channel 11
00180 #define RC5_CHANNEL_12          69  // Channel 12
00181 #define RC5_DEFAULT_VIDEO2      72  // Default video settings (TV2)
00182 #define RC5_DEFAULT_AUDIO2      73  // Default audio settings (TV2)
00183 #define RC5_PAYTV_CHANNEL_UP2   88  // Pay TV channel up (TV2)
00184 #define RC5_PAYTV_CHANNEL_DOWN2 89  // Pay TV channel down (TV2)
00185 #define RC5_RADIO_CHANNEL_UP2   90  // Radio channel up (TV2)
00186 #define RC5_RADIO_CHANNEL_DOWN2 91  // Radio channel down (TV2)
00187 #define RC5_TILT_FORWARD2       104 // Tilt cabinet forward (TV2)
00188 #define RC5_TILT_BACKWARD2      105 // Tilt cabinet backward (TV2)
00189 #define RC5_EXTERNAL3_2         120 // External 3 (TV2)
00190 #define RC5_EXTERNAL4_2         121 // External 4 (TV2)
00191 #define RC5_CHANNEL_MENU        122 // Channel setting menu
00192 #define RC5_PICTURE_FORMAT2     126 // 4:3 vs 16:9 (TV2)
00193 
00194 // http://en.wikipedia.org/wiki/RC-5#Command_Tables
00195 // Table 5, Teletext commands
00196 #define RC5_NEXT_PAGE           10  // Next page
00197 #define RC5_PREVIOUS_PAGE       11  // Previous page
00198 //      RC5_STANDBY             12  // Standby
00199 #define RC5_ENTER_PAGE_NUMBER   28  // Enter page number in memory
00200 #define RC5_SEQ_DISPLAY         29  // Sequential display of pages
00201 #define RC5_SEQ_DELETE          30  // Sequential display/deletion of pages
00202 #define RC5_EXCHANGE            32  // Exchange (Antiope function)
00203 #define RC5_MAIN_INDEX          33  // Main index
00204 #define RC5_ROW_ZERO            34  // Row zero (Antiope function)
00205 #define RC5_PRINT               38  // Print displayed page
00206 #define RC5_MIX                 39  // Mix Antiope/TV pictures
00207 #define RC5_HOLD_PAGE           41  // Page hold
00208 //      RC5_TIME                42  // Display time
00209 #define RC5_LARGE               43  // Large top/bottom/normal
00210 #define RC5_REVEAL              44  // Reveal/conceal
00211 #define RC5_TV_TXT              45  // TV/TXT
00212 #define RC5_TV_TXT_SUBTITLE     46  // TV + TXT/subtitle
00213 //      RC5_ERASE               49  // Erase/correct entry
00214 #define RC5_NEWS_FLASH          62  // News flash (Antiope function)
00215 
00216 // http://en.wikipedia.org/wiki/RC-5#Command_Tables
00217 // Table 6, LaserVision commands
00218 #define RC5_PICTURE_NUMBER      10  // Display picture number/time
00219 #define RC5_CHAPTER_NUMBER      11  // Display chapter number
00220 //      RC5_STANDBY             12  // Standby
00221 //      RC5_MUTE                13  // Master mute/de-mute
00222 //      RC5_DISPLAY_INFO        15  // Display user info on screen
00223 #define RC5_SHUFFLE             28  // Total shuffle play/repeat once
00224 #define RC5_REPEAT              29  // Repeat continuously
00225 #define RC5_SELECT_NEXT         30  // Select next option
00226 #define RC5_FAST_REVERSE        31  // Fast run reverse
00227 #define RC5_ENTRY               32  // Entry (prepare to program)
00228 #define RC5_AUTO_STOP           33  // Auto-stop at pre-programmed point
00229 #define RC5_SLOW_REVERSE        34  // Slow run reverse
00230 #define RC5_STEREO_CHANNEL1     35  // Select stereo sound channel 1/language 1
00231 #define RC5_STEREO_CHANNEL2     36  // Select stereo sound channel 2/language 2
00232 #define RC5_DEC_STILL           37  // Still increment reverse
00233 #define RC5_INC_SPEED           38  // Increase speed
00234 #define RC5_DEC_SPEED           39  // Decrease speed
00235 #define RC5_SLOW_FORWARD        40  // Slow run forward
00236 #define RC5_INC_STILL           41  // Still increment forward
00237 #define RC5_FAST_FORWARD        42  // Fast run forward
00238 #define RC5_SEARCH_USER_CHOICE  43  // Automatic search for user choice
00239 #define RC5_SEARCH_REVERSE      44  // Search in reverse
00240 #define RC5_TRAY                45  // Open/close tray
00241 #define RC5_SEARCH_FORWARD      46  // Search forward
00242 #define RC5_PLAY_REVERSE        47  // Play reverse/play opposite sound track
00243 //      RC5_PAUSE               48  // Pause
00244 //      RC5_ERASE               49  // Erase/correct entry
00245 //      RC5_PLAY                53  // Play
00246 //      RC5_STOP                54  // Stop
00247 #define RC5_CLEAR_MEMORY        58  // Clear memory all
00248 #define RC5_FREEZE_SEGMENT      59  // Freeze segment(s) indicated by picture numbers.
00249 #define RC5_TV_TXT_ALT          60  // TV/TXT toggle; RF switch (USA only)
00250 #define RC5_CX                  62  // CX 1, 2, 3; toggle for CX noise reduction
00251 
00252 // http://en.wikipedia.org/wiki/RC-5#Command_Tables
00253 // Table 11, Preamplifier commands
00254 #define RC5_GEQ_L               10  // Graphic equalizer left
00255 #define RC5_GEQ_R               11  // Graphic equalizer right
00256 //      RC5_STANDBY             12  // Standby
00257 //      RC5_MUTE                13  // Master mute/de-mute
00258 //      RC5_PREFERENCES         14  // Personal preference settings
00259 //      RC5_DISPLAY_INFO        15  // Display user info on screen
00260 #define RC5_GEQ_L_AND_R         28  // Graphic equalizer left and right
00261 #define RC5_SPEAKER_SELECT      29  // Speaker select
00262 #define RC5_SCRATCH_FILTER      30  // Scratch filter on/off
00263 #define RC5_RUMBLE_FILTER       31  // Rumble filter on/off
00264 #define RC5_INC_STEP            32  // Step function +
00265 #define RC5_DEC_STEP            33  // Step function -
00266 #define RC5_SIGNAL_PATH         34  // Signal path options
00267 #define RC5_SPEAKER_A           35  // Speaker A on/off
00268 #define RC5_SURROUND_OPTIONS    37  // Surround sound options
00269 //      RC5_SLEEP_TIMER         38  // Sleep timer
00270 #define RC5_SPEAKER_B           39  // Speaker B on/off
00271 #define RC5_SPEAKER_C           40  // Speaker C on/off
00272 #define RC5_TIMER_PROGRAM       41  // Timer program mode
00273 //      RC5_TIME                42  // Display time
00274 #define RC5_INC_TIMER           43  // Timer +
00275 #define RC5_DEC_TIMER           44  // Timer -
00276 #define RC5_TIMER_MEMORY        45  // Open timer memory
00277 #define RC5_ACOUSTIC_CONTROL    46  // Open acoustic control setting memory
00278 #define RC5_ACOUSTIC_SELECT     47  // Select acoustic settings in memory
00279 //      RC5_ERASE               49  // Erase/correct entry
00280 //      RC5_CLEAR_MEMORY        58  // Clear memory all
00281 #define RC5_DYNAMIC_EXPAND      60  // Dynamic range expand
00282 #define RC5_DYNAMIC_COMPRESS    62  // Dynamic range compress
00283 #define RC5_SURROUND_SOUND      64  // Surround sound on/off
00284 #define RC5_BALANCE_FRONT       65  // Balance front
00285 #define RC5_BALANCE_REAR        66  // Balance rear
00286 #define RC5_LINEAR_SOUND        79  // Scroll linear sound functions
00287 #define RC5_RANDOM_NOISE        88  // Random noise generator on/off
00288 #define RC5_TIMER               89  // Timer on/off
00289 #define RC5_NEWS_TIMER          90  // News timer on/off
00290 #define RC5_INC_CENTER_VOLUME   102 // Increase center channel volume
00291 #define RC5_DEC_CENTER_VOLUME   103 // Decrease center channel volume
00292 #define RC5_INC_DELAY_SURROUND  104 // Increase delay front to surround
00293 #define RC5_DEC_DELAY_SURROUND  105 // Decrease delay front to surround
00294 #define RC5_LINEAR_PHASE        106 // Linear phase
00295 #define RC5_TAPE_MONITOR        122 // Tape monitor
00296 
00297 // http://en.wikipedia.org/wiki/RC-5#Command_Tables
00298 // Table 14, Compact disc player commands
00299 #define RC5_LOCAL_CURSOR        10  // Scroll local display cursor
00300 #define RC5_LOCAL_FUNCTION      11  // Scroll local display function
00301 //      RC5_STANDBY             12  // Standby
00302 //      RC5_MUTE                13  // Master mute/de-mute
00303 //      RC5_DISPLAY_INFO        15  // Display user info on screen
00304 //      RC5_SHUFFLE             28  // Total shuffle play/repeat once
00305 //      RC5_REPEAT              29  // Repeat continuously
00306 #define RC5_INC_SELECT          30  // Select increment
00307 #define RC5_DEC_SELECT          31  // Select decrement
00308 #define RC5_NEXT                32  // Next
00309 #define RC5_PREVIOUS            33  // Previous
00310 #define RC5_INDEX_NEXT          34  // Index next
00311 #define RC5_INDEX_PREVIOUS      35  // Index previous
00312 #define RC5_PLAY_PROGRAM        36  // Play/program
00313 #define RC5_NOMINAL_SPEED       37  // Speed nominal
00314 //      RC5_INC_SPEED           38  // Increase speed
00315 //      RC5_DEC_SPEED           39  // Decrease speed
00316 //      RC5_STORE               41  // Store/vote
00317 //      RC5_INC_SCAN            43  // Scan forward/increment
00318 //      RC5_TRAY                45  // Open/close tray
00319 #define RC5_CARTRIDGE           47  // Fast/select disc from catridge
00320 //      RC5_PAUSE               48  // Pause
00321 //      RC5_ERASE               49  // Erase/correct entry
00322 //      RC5_REWIND              50  // Rewind
00323 //      RC5_GOTO                51  // Go to
00324 //      RC5_WIND                52  // Wind (fast forward)
00325 //      RC5_PLAY                53  // Play
00326 //      RC5_STOP                54  // Stop
00327 //      RC5_CLEAR_MEMORY        58  // Clear memory all
00328 #define RC5_REPEAT_AB           59  // Repeat program marked A/B
00329 //      RC5_DYNAMIC_EXPAND      60  // Dynamic range expand
00330 //      RC5_DYNAMIC_COMPRESS    62  // Dynamic range compress
00331 #define RC5_DSP                 91  // Digital signal processing on/off
00332 #define RC5_DSP_MUSIC           92  // Music mode (DSP)
00333 #define RC5_DSP_ACOUSTICS       93  // Select room acoustics (DSP)
00334 #define RC5_DSP_JAZZ            94  // Jazz/s-hall effect (DSP)
00335 #define RC5_DSP_POP             95  // Pop/s-hall effect (DSP)
00336 #define RC5_DSP_CLASSIC         96  // Classic/church music for music/room mode (DSP)
00337 #define RC5_DSP_EASY            97  // Easy/club music for music/room mode (DSP)
00338 #define RC5_DSP_DISCO           98  // Disco/stadium music for music/room mode (DSP)
00339 #define RC5_SECOND_FAVORITE     107 // Second favorite track selection
00340 #define RC5_FAVORITE            108 // Favorite track selection
00341 #define RC5_TITLE_INTO_MEMORY   109 // Title into memory
00342 #define RC5_FADE                120 // Fade in/out audio
00343 
00344 #endif
 All Classes Files Functions Variables Typedefs Enumerations Enumerator