Git Product home page Git Product logo

onkyo-ri's Introduction

Onkyo-RI

Control Onkyo devices is possible among others through Remote Interactive port. This port is normally used for direct communication between two Onkyo devices (ex. receiver and CD player). But why not turn on the receiver automatically when you start your own player?

Connection

To connect to the RI port is used 3.5mm mono jack. Tip is for data signal and sleeve is ground (GND). Data are sent via TTL logic. So it is easy to connect RI device to 5V MCU (Arduino). Just connect data signal to some output pin and connect GND between each other.

Protocol

Protocol description could be found at:

or with grafical representation at:

Protocol is pretty simple for implementation. In one message is transfered 12 bit code. This code represents action for target device. Most significant bit is send first.

Library

There are two Onkyo-RI library:

  • blocking - send() method blocks other program execution until whole command is sent. It takes up to 61 ms.
  • non-blocking - send() method only start command sending. The execution is handled by processing() function. This function must be called periodically with maximum 1 ms period. Function return bool value about sending status (true - data is being sent, false - nothing to sent/sending is done). Before the command is completely sent other functions can be executed. Library use internaly Arduino micros() function, so no other timer is not blocked.

RI codes

At mentioned sites are also listed codes for Onkyo devices. Unfortunnately none of the codes is not valid for my receiver TX-8020. To determine the valid codes I wrote a simple loop for Arduino (more below) that goes through the whole 12bit code range (0x0-0xFFF). Results are listed below commands.

RI codes - receiver

Codes are valid for TX-8020 receiver. With a high probability it will work with other Onkyo receivers.

ActionCommandNotes
Input CD0x20Switch input to CD channel
Turn On + CD0x2FTurn on receiver and select CD as input channel
Input TAPE0x70Switch input to TAPE channel
Turn On + TAPE0x7FTurn on receiver and select TAPE as input channel
Input BD/DVD0x120Switch input to BD/DVD channel
Turn On + BD/DVD0x12FTurn on receiver and select BD/DVD as input channel
Input DOCK0x170Switch input to DOCK channel
Turn On + DOCK0x17FTurn on receiver and select DOCK as input channel
Dimmer Hi0x2B0Set dimmer brightness to highest level
Dimmer Mid0x2B1Set dimmer brightness to mid level
Dimmer Lo0x2B2Set dimmer brightness to lowest level
Dimmer Hi0x2B8Set dimmer brightness to highest level
Dimmer Lo0x2BFSet dimmer brightness to lowest level
Turn Off0x420Turn off(set into standby) receiver
Test mode0x421 - 0x424Some kind of test modes. Leave test mode is possible by code 0x420 (Turn Off). Test modes provides clear of receiver setting.
Radio search next0x430Tune next radio station when radio is selected.
Radio search previous0x431Tune previous radio station when radio is selected.
Radio Stereo/Mono0x432Switch between Stereo and Mono when FM radio is selected.
Radio station next0x433Jump to next stored radio station when radio is selected.
Radio station previous0x434Jump to previous stored radio station when radio is selected.

##Test program Program is located in repo folder Onkyo_test. It serves for check all codes (0x0 - 0xFFF) on target device in 500ms interval. For data line pin 10 is used as default.

Actual checked code is sent as ASCII through serial port and can be displayed in terminal. For serial port 9600b/s is set. Using terminal test program can be stopped, reset or user defined code could be used.

Terminal commands:

  • p - pause/run command sending
  • r - reset loop (program start from 0)
  • hexadecimal number - number in hexadecimal format represents code that user want to test on target device. From this code automatical procedure will continue.

onkyo-ri's People

Contributors

docbender avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.