<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[forum.rcl-radio.ru &mdash; PT2323 - коммутатор аудио сигналов]]></title>
		<link>http://forum.rcl-radio.ru/viewtopic.php?id=8</link>
		<atom:link href="http://forum.rcl-radio.ru/extern.php?action=feed&amp;tid=8&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «PT2323 - коммутатор аудио сигналов».]]></description>
		<lastBuildDate>Thu, 22 Aug 2019 05:18:52 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[PT2323 - коммутатор аудио сигналов]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?pid=10#p10</link>
			<description><![CDATA[<p>PT2323 представляет собой коммутатор аудио сигналов. Микросхема имеет 4-е стерео входа и один шести канальный вход формата 5.1. Стерео сигнал подаваемый на входы микросхемы преобразуется в аудио сигнал формата 5.1, а аудио сигнал формата 5.1 поступает на выход 5.1 без изменений.</p><p>PT2323 имеет следующие аудио выходы:</p><p>FR — правый канал фронт<br />FL — левый канал фронт<br />SR — правый канал тыл<br />SL — левый канал тыл<br />CT — центральный канал<br />SUB — канал сабвуфера</p><p><span class="postimg"><img src="http://rcl-radio.ru/wp-content/uploads/2019/06/3475634932434.png" alt="http://rcl-radio.ru/wp-content/uploads/2019/06/3475634932434.png" /></span></p><p>PT2323.h</p><div class="codebox"><pre><code>//  PT2323
#ifndef  PT2323_H
#define  PT2323_H

#define  PT2323_address 0b1001010 // адрес

#include &lt;Arduino.h&gt;
class  PT2323
{
  public:
     PT2323();
        void setInput(int in); // входы 1...4 (in = 0...3), 6 моно входов (in = 4)
        void setMute(int fl, int fr, int ct, int sub, int sl, int sr, int mute); 
        // MUTE OFF для выходов (0,0,0,0,0,0,0); 
        // MUTE ON  для выходов (1,1,1,1,1,1,1); 
        // fl,  fr,  ct,  sub,  sl,  sr, все  выходы mute
        void setFeature(int surr, int mix); // дополнительные функции 0...1, 0...1
               // 0 - Enhanced Surround Function Active
               // 1 - Enhanced Surround Function Disabled
               // 0 - Mixed Channel (0dB) Setup
               // 1 - Mixed Channel (+6dB) Setup 
  private:
    void writeWire(char a);
};
    
#endif // PT2323_H</code></pre></div><p>PT2323.cpp</p><div class="codebox"><pre><code>#include &lt;Arduino.h&gt;
#include &lt;Wire.h&gt;
#include &quot;PT2323.h&quot;

PT2323::PT2323(){
    Wire.begin();
}

void PT2323::setInput(int in){
     switch(in){
        case 0: in = 0b11001011;break;
    case 1: in = 0b11001010;break;
    case 2: in = 0b11001001;break;
    case 3: in = 0b11001000;break;
        case 4: in = 0b11000111;break;
        } 
        writeWire(in);}

void PT2323::setMute(int fl, int fr, int ct, int sub, int sl, int sr, int mute){
      if(fl==1){fl = 0b11110001;}else{fl = 0b11110000;}
      if(fr==1){fr = 0b11110011;}else{fr = 0b11110010;}
      if(ct==1){ct = 0b11110101;}else{ct = 0b11110100;}
    if(sub==1){sub = 0b11110111;}else{sub= 0b11110110;}
      if(sl==1){sl = 0b11111001;}else{sl = 0b11111000;}
      if(sr==1){sr = 0b11111011;}else{sr = 0b11111010;} ///
  if(mute==1){mute = 0b11111111;}else{mute=0b11111110;}
      
  writeWire(fl);
  writeWire(fr);
  writeWire(ct);
  writeWire(sub);
  writeWire(sl);
  writeWire(sr);
  writeWire(mute);
}

void PT2323::setFeature(int surr, int mix){
     switch(surr){
        case 0: surr = 0b11010000;break;
    case 1: surr = 0b11010001;break;
        }
     switch(mix){
        case 0: mix = 0b10010000;break;
    case 1: mix = 0b10010001;break;
        } 
        writeWire(surr);
        writeWire(mix);
}

void PT2323::writeWire(char a){
  Wire.beginTransmission(PT2323_address);
  Wire.write (a);
  Wire.endTransmission();
}</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (liman324)]]></author>
			<pubDate>Thu, 22 Aug 2019 05:18:52 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?pid=10#p10</guid>
		</item>
	</channel>
</rss>
