Jindra Fučík


Conformance Warrant 2018-0005
Od verze 1.01



DCC Dekodér příslušenství pro přestavníky s pomalým pohybem

Pojem přestavníky s "pomalým pohybem" není mezi českými modeláři příliš používaný. častěji se setkáváme s pojmy jako "motorické přestavníky" nebo "přestavníky s paměťovým drátem". Dekodér je připravený pro obsluhu obou typů přestavníků. Zejména byl navrhnut pro obsluhu přestavníků MP1 od firmy MTB. Okrajově jej lze použít i pro obsluhu elektromagnetických přestavníků, je však potřeba brát zřetel na proudové omezení (viz dále).
Mezi základní vlastnosti přestavníků s pomalým pohybem patří poměrně malá spotřeba elektrického proudu a relativně dlouhé časy sepnutí. Dlouhodobá zatížitelnost každého výstupu je kolem 350mA, to je pro motorické přestavníky více než dostatečné, pro přestavníky s paměťovým drátem je tato hodnota také přijatelná. Pro některé elektromagnetické přestavníky (například Peco) však tato hodnota nedostačuje, proto buďte opatrní s volbou přestavníku.
Ačkoli je dekodér navržen pro ovládání přestavníků, najde své uplatnění i při ovládání jiného typu příslušenství, jako například osvětlení, ovládání drobného pohyblivého příslušenství a podobně.
Konstrukce dekodéru byla vytvářena s ohledem na příznivou cenu a jednoduchost ovládání. Proto dekodér nemá žádné zbytečné funkce a žádné složité nastavovací parametry. Sloučením většího počtu výstupů na jeden dekodér dostáváme zajímavou cenu za jeden ovládaný prvek.


Conformance Warrant 2018-0005
Starting version 1.01



DCC Accessory decoder for slow motion switch machines

Slow motion switch machine is understand as general therm for motorized switch machines and memory wire switch machines. The primary focus was of course to MP1 switch machines by MTB. Decoder can be alternatively used for electromagnetic switch machines; but only with respect to current limitations (see next).
Basic attributes of slow motion switch machines are relatively small consumption of electric movement and relatively long switching time. Long term load of every output is about 350mA. It is more than enough for motorized switch machines; for switch machines with memory wire the value is also acceptable. The value is not enough for some of electromagnetic switch machines (for example Peco). Then be careful during switch machine selection.
Although the decoder is designed for control switch machines, it can be used also for control other electronic accessory. For example lights, small moving accessory etc.
Decoder design is done with focus to acceptable price and simple use. Then decoder not contain any complicated useless functions and complicated configuration parameters. Consolidation of bigger amount of outputs on one decoder make interesting price per controlled accessory.

Připojení

Dekodér umožňuje použití samostatného napájení, aby nedocházelo k přetěžování DCC. Napájecí napětí je usměrněno a je přímo používáno pro napájení přestavníků. Povolený rozsah napájecího napětí je:
9-30 V= (pro napájení stejnosměrným proudem)
7-20 V~ (pro napájení střídavým proudem)
(s ohledem na možnosti připojených přestavníků; v případě použití přestavníků s paměťovým drátem, je nutné zařadit vhodný předřadný rezistor)
Napájení se připojuje na svorky označené Power. Svorky označené DCC slouží pro připojení vlastního DCC signálu.
Dekodér má na každé straně jednu řadu svorek pro připojení přestavníků. Každá řada představuje samostatnou skupinu. Přestavníky se vždy připojují tak, že společný pól je V+ (+ pól) a spínaný pól je 0V (- pól), značený jménem každé svorky.
Dekodér se chová jako dva nebo čtyři samostatné dekodéry. Každý dekodér má svou vlastní adresu. Dekodér používá již dříve ověřený mechanizmus zadávání samostatných adres, který známe například z dekodéru pro dvě relé.

V základním režimu to jsou dva dekodéry, každý má čtyři párové výstupy. Chování je tedy takové, že společný vývod (značený na přestavníku jako V+, nebo COM) připojíme na středovou svorku přestavníku MP1 (nebo společnou svorku jiného přestavníku), párové vývody (například) 1A a 1B připojíme ke vstupům pro pozici 1 a pozici 2 na přestavníku. Stejně tak 2A a 2B ke druhému a 3A a 3B ke třetímu a tak dále.

Connection

Decoder is designed to use independent power supply, to not overload DCC. Power voltage is rectified and directly used for power of switch machines. Allowed voltage range is:
9-30 V= (for direct current power)
7-20 V~ (for alternate current power)
(with respect to range of connected switch machines; in case of use memory wire switch machines, it is necessary to use relevant serie resistor)
Power supply connects to terminals marked Power. Track signal is connected to terminals marked DCC.
Decoder is equipped by two rows of terminals for switch machine connection, one row on each side. One row mean one separate group. Switch machines are connected with common positive voltage on terminal V+ (+ pole) and switched terminal 0V (- pole), marked by terminal name.
Decoder acting as two or four independent decoders. Each of them can have its own address. Decoder use already known method for address definition. We know that method for example from two relay decoder.

In default settings it is two decoders, both with four paired outputs. It mean we have one common pole (marked V+ or COM on switch machine) connected to middle pole on MP1 (or common pole of another switch machine); paired outputs (for example) 1A and 1B connected to inputs for position 1 and position 2 on switch machine. The same for 2A and 2B for second switch machine, 3A and 3B for third etc.
Dekodér je také možno provozovat v režimu s šestnácti výstupy. Tento režim je vhodný zejména pro přestavníky s paměťovým drátem, nebo pro připojení osvětlení. Lze jej také použít pr připojení malých relátek, která pak mohou ovládat další komponenty. V tomto režimu se chová jako čtyři dekodéry, každý má čtyři jednoduché výstupy. Celkem tedy 16 ovládaných prvků. Chování je tedy takové, že společný vývod (značený jako V+, nebo COM) připojíme na kladnou svorku prvního přestavníku vývod 1A na zápornou. Stejně tak 1B ke druhému a 2A ke třetímu, 2B ke čtvrtému a tak dále. It is also possible to use decoder in 16 output mode. This mode is useful especially for memory wire switch machines, or for light connection. In this mode also small relays can be connected. Those relays then can control another components. In this mode device act as four separate decoders, every with four single outputs. It mean 16 outputs together and 16 controlled devices. Behaviour is, that common pole (marked as V+ or COM) is connected to positive input of first switch machine and output 1A to negative input. The same for 1B for second switch machine, 2A to third, 2B to fourth etc.

Nastavení

V základním režimu první dekodér představuje první čtyři přestavníky (1 až 4), tedy celou první skupinu. Jeho adresa je uložená v CV35 a CV36. Určení adresy je jednoduché, adresa 1 znamená výhybky 1,2,3,4; adresa 2 znamená výhybky 5,6,7,8 a tak dále. CV35 má hodnoty 1-63, pak zvětšíme hodnotu CV36 na 1 a pokračujeme s CV35 0-63.
Druhý dekodér v základním nastavení ovládá přestavníky 5 až 8, celou druhou skupinu výstupů. Jeho adresa je stejným způsobem uložená v CV37 a CV38. Adresy se mohou překrývat a nemusí udržovat žádné pořadí. Pokud mají oba dekodéry stejnou adresu, jednoduše reagují na příkazy pro stejné výhybky. To je užitečné pokud potřebujeme jedním tlačítkem přehodit dvojici výhybek, nebo například výhybku a návěstidlo.

Dekodér umožňuje používání režimu se 16 výstupy. Přepnutí do tohoto režimu se provede zápisem hodnoty 2 do CV34. V tomto režimu dekodér ovládá každý výstup samostatně. Přehozením výhybky "do odbočky" je výstup aktivní, přehozením "rovně" je neaktivní.
Při použití režimu se šestnácti výstupy představuje první dekodér první čtyři přestavníky na výstupech 1A, 1B, 2A a 2B. Jeho adresa je uložené v CV35 a CV36. Adresa se určuje stejně jako v předchozím případě.
Druhý dekodér ovládá výstupy 3A, 3B, 4A a 4B a jeho adresa je uložená v CV37 a CV38 zase stejným způsobem jako v prvním případě.
Třetí dekodér ovládá výstupy 5A, 5B, 6A a 6B. Jeho adresa je uložená v CV39 a CV40.
Poslední, čtvrtý, dekodér ovládá výstupy 7A, 7B, 8A a 8B. Jeho adresa je uložena v CV41 a CV42.

Configuration

In default mode first decoder control first four switch machines, it mean full utilization of first group. Its address is stored in CV35 and CV36. Address definition is simple, address 1 mean turnouts 1,2,3,4; address 2 mean turnouts 5,6,7,8 etc. CV35 use values 1-63, then increase value of CV36 by one and continue vith CV35 in range 0-63.
Second decoder in default configuration control turnouts 5 to 8. It mean full utilization of second group of outputs. Its address is stored same way in CV37 and CV38. Addresses can have overlaps and here is not defined any order. Once two decoders have same address, they simply reacts to commands for same turnouts. It is useful when we would like to switch two turnouts by one button or for example switch turnout and light signal together.

Decoder allow to use 16 output mode. Switch to this mode is done by write value 2 into CV34. In this mode each output is controlled separately. Switch turnout "to turn" make output active, switch turnout "to straight" make output inactive.
Operation in 16 output mode the first decoder control first four switch machines on outputs 1A, 1B, 2A and 2B. Its address is stored in CV35 and CV36. Address is defined same way as defined in previous case.
Second decoder control outputs 3A, 3B, 4A and 4B and its address is stored in CV37 and CV38. Again in same meaning as previous.
Third decoder control outputs 5A, 5B, 6A and 6B. Its address is stored in CV39 and CV40.
Last one (fourth) decoder control outputs 7A, 7B, 8A and 8B. Its address is stored in CV41 and CV42

Adr.
Výhybka
Turnout
Adresa
Address
CV35
(CV37
CV39
CV41)
CV36
(CV38
CV40
CV42)
1A+1B2A+2B3A+3B4A+4B
1234110
5678220
9101112330
24925025125263630
2532542552566401
2572582592606511
2612622632646601
...

Pro zachování kompatibility s nastavovacími programy je možné k adresám přistoupit také pomocí standardních CV pro ukládání adres - tedy CV1 a CV9. Toto ale nejsou reálná CV, ale jen virtuální. Jejich hodnota je kopií adres příslušných dekodérů s tím, že to který dekodér bude zvolen se nastavuje v CV33. Pokud zadáme do CV33 hodnotu 0 (výchozí), potom CV1 a CV9 pracují s hodnotami pro první dekodér (CV35 a CV36), pokud zadáme do CV33 hodnotu 1, pracujeme s hodnotami pro druhý dekodér (CV37 a CV38) a tak dále.
Virtuální registry CV1 a CV9 mohou být použity jak pro čtení, tak pro zápis.

Následující tabulky shrnují přiřazení výstupů, dekodérů a adres.
To remain compatible with configuration programs it is possible to access addresses using standard CVs designed for address. It mean CV1 and CV9. This CV are not real CV, but virtual one. Value of this CV is copy of address CVs of respective decoder address. Chose of decoder that is presented in this CVs is done in CV33. Once CV33 contain value 0 (default), then CV1 and CV9 working with address of first decoder (CV35 and CV36). Once value 1 is entered into CV33, then we are working with address of second decoder (CV37 and CV38) in CV1 and CV9 etc.
Virtual registers CV1 and CV9 can be used for read same as for write.

Following tables summarize relations between outputs, decoders and address.

Dekodér č.
Decoder #
CV33 Index
CV33 Index
Nižší adresa
Address Lo.
Vyšší adresa
Address Hi
Výstup 1
Output 1
Výstup 2
Output 2
Výstup 3
Output 3
Výstup 4
Output 4
Základní režim
Basic mode
1035361A + 1B2A + 2B3A + 3B4A + 4B
2137385A + 5B6A + 6B7A + 7B8A + 8B
Režim se 16 výstupy
16 output mode
1035361A1B2A2B
2137383A3B4A4B
3239405A5B6A6B
4341427A7B8A8B

Pokud bychom k dekodéru chtěli připojit elektromagnetické přestavníky, pak je možné nastavit dobu sepnutí výstupu. Doba sepnutí se zadává do CV3, CV4, CV5 a CV6. Zadává se v desetinách sekundy (0,1 sec). Hodnota obvyklá pro elektromagnetické přestavníky je kolem 0,2 až 0,3 sec. To znamená hodnotu 2 respektive 3. Větší hodnoty umožňují delší časy vhodné právě pro přestavníky s pomalým pohybem. Dekodér nastavuje společnou hodnotu pro všechny virtuální dekodéry v souladu s požadavky NMRA. Tedy CV3 nastavuje čas pro první výstup. To v režimu s 8 výstupy znamená nastavení pro výstup 1A+1B a 5A+5B, v režimu s 16 výstupy nastavení pro výstupy 1A, 3A, 5A a 7A. CV4 nastavuje čas pro druhý výstup. To v režimu s 8 výstupy znamená nastavení pro výstup 2A+2B a 6A+6B, v režimu s 16 výstupy nastavení pro výstupy 1B, 3B, 5B a 7B. CV5 nastavuje čas pro třetí výstup. To v režimu s 8 výstupy znamená nastavení pro výstup 3A+3B a 7A+7B, v režimu s 16 výstupy nastavení pro výstupy 2A, 4A, 6A a 8A. CV6 nastavuje čas pro čtvrtý výstup. To v režimu s 8 výstupy znamená nastavení pro výstup 4A+4B a 8A+8B, v režimu s 16 výstupy nastavení pro výstupy 2B, 4B, 6B a 8B.
Výchozí hodnota 0 znamená, že se pulz neukončuje jinak, než přehozením výhybky do obráceného směru.
V režimu se 16 výstupy lze také využívat ukončování pulzu, Není však zcela jasné, jestli je tato funkce užitečná a jestli nebude představovat zmatky v ovládání. Jediný užitek na který jsem zatím narazil je, pokud je k dekodéru připojen generátor kouře, nebo nějaké hlučnější příslušenství, tak lze nastavit, že po stisku tlačítka dochází ke kouření jen například 20sec.

Vzhledem k tomu, že různé digitální systémy používají různé metody adresování výhybek, lze změnit používání adres mezi režimy Roco (výchozí) a Lenz (hodnota CV34 se zvětší o 1). Režim Roco je výchozí.
Systémy pracující v režimu Roco jsou například: Roco z21, Roco MultiMaus, nebo také Lenz Compact verze 3.0 a menší. Rozdíl v režimech je posun adres o hodnotu 4. Ve výchozím nastavení by dekodér měl reagovat na přehazování výhybky 1 a výstupech 1A a 1B. Pokud reaguje na přehazování výhybky 5, pak systém pracuje v režimu Lenz, zatímco dekodér je nastaven do režimu Roco.

Pokud z důvodů zapojení potřebujeme změnit polaritu některého z výstupů (změnit směr rovně/do odbočky), lze použít CV43, případně CV44. Jednotlivé bity reprezentují jednotlivé výhybky. Hodnota CV vznikne jako součet výstupů, které mají být změněny.
Následující tabulka ukazuje, které dekodéry (D) / výhybky (V) jsou změněny kterým bitem.
Once we would like to connect electromagnetic switch machines to decoder, then we can configure time for output activation. Activation time is configured in CV3, CV4, CV5 and CV6. It is configured in tenth of second (0.1 sec). Usual value for electromagnetic switch machines is about 0.2 or 0.3 sec. It mean values 2 or 3. Bigger values allow longer times interesting especially for slow motion switch machines. The values are configured for all virtual decoders in accordance to NMRA needs. Then CV3 configure time for 1st outputs. In 8 output mode it mean outputs 1A+1B and 5A+5B, in 16 output mode it mean outputs 1A, 3A, 5A and 7A. CV4 configure time for 2nd outputs. In 8 output mode it mean outputs 2A+2B and 6A+6B, in 16 output mode it mean outputs 1B, 3B, 5B and 7B. CV5 configure time for 3rd outputs. In 8 output mode it mean outputs 3A+3B and 7A+7B, in 16 output mode it mean outputs 2A, 4A, 6A and 8A. CV6 configure time for 4th outputs. In 8 output mode it mean outputs 4A+4B and 8A+8B, in 16 output mode it mean outputs 2B, 4B, 6B and 8B.
Default value 0 mean, that pulse is terminated only by switching turnout to opposite direction.
Pulse termination can be used as well in 16 output mode. But it is not clear it is useful and if not make layout control more chaotic. I found only one functionality until now. It is useful, when you have accessory smoke generators or some noisy accessory, then it can be configured working only for example 20 sec after button push.

Because various digital systems use different methods for turnout addressing, it is possible to change addressing model between Roco (default) and Lenz (increase value ov CV34 by 1). Roco mode is default.
Systems working in Roco mode are for example: Roco z21, Roco MultiMaus, or for example Lenz Compact version 3.0 or less. The difference is shift of turnout address by value 4. In default configuration decoder should react to switching of turnout 1 on outputs 1A and 1B. Once react to turnout 5, then system working in Lenz mode, but decoder is configured in Roco mode.

Once we need to change polarity of any output from some wiring reasons (change direction straight/turn), it can be done in CV43, respectively CV44. One bit mean one controlled turnout. CV value is done as sum of outputs we need to reverse.
Following table display, what decoder (D) / output (V) is affected by any bit.



CV
Hodnota
Value
1248163264128
43D1/V1D1/V2D1/V3D1/V4D2/V1D2/V2D2/V3D2/V4
44D3/V1D3/V2D3/V3D3/V4D4/V1D4/V2D4/V3D4/V4

Dekodér je vybaven běžnou funkcí "zámek dekodéru". Tato funkce umožňuje provozovat dekodér v systémech, které nemají oddělenou programovací kolej, bez nebezpečí nechtěného přepsání hodnot CV.
Použití zámku je velice jednoduché. Dekodér umožňuje používat programování (čtení i zápis) pouze v případě, že je hodnota CV15 a CV16 shodná. Ve výchozím stavu je tato podmínka splněna, neboť jsou CV15=0, CV16=0.
Pokud chceme dekodér zamknout proti nechtěnému zápisu (a také čtení), nastavíme libovolnou jinou hodnotu do CV16 (například 1). Potom je hodnota CV15=0 a hodnota CV16=1 různá a dekodér přestane reagovat na požadavky na programování. Dekodér lze odemknout zápisem hodnoty 1 do CV15. Pak bude CV15=1 a CV16=1, tedy shodná hodnota a dekodér lze programovat a číst.
V praxi se nejčastěji používá model, kdy se do CV16 zapíše stejná hodnota jako je adresa prvního dekodéru. Pak při programování jednoduše nejprve provedeme zápis do CV15="adresa dekodéru, který chceme programovat" a následně programujeme. Pokud chceme na stejné trati programovat lokomotivy, nejprve zapíšeme do CV15 hodnotu 0 a následně můžeme programovat lokomotivu. (hodnotu 0 zapisujeme i po skončení programování)
Pozor: dekodér s aktivním zámkem se tváří, jako že nereaguje na příkazy pro programování ani čtení.
Pro případ, že dostaneme dekodér, který je v zamčeném stavu a nevíme jaká je hodnota v CV16, existuje jednoduchá pomůcka. Do CV15 zapíšeme hodnotu 255, to je takzvaný univerzální klíč, který odemkne všechny dekodéry. Takže jej používáme výhradně pokud je dekodér jediný připojený. Po odemčení dekodéru univerzálním klíčem se většinou používají jednoduché příkazy jako obnovení výchozího nastavení (zápis CV8=33), nebo nastavení nové hodnoty zámku (zápis CV16=0, CV15=0).
Decoder is equipped by "decoder lock" functionality. This functionality allow to use decoder in systems without separate programming track. It reduce risk of unexpected re-write CV values.
Use of decoder lock is really simple. Decoder allow to use programming (read and write) only in case, that values of CV15 and CV16 are equal. In default state this condition is met, because CV15=0 and CV16=0.
Once we want to lock decoder for write (and also read), we should setup any other value into CV16 (for example 1). Then value CV15=0 and CV16=1 is different and decoder will stop react to requests for programming. It is possible to unlock decoder by setting up value 1 into CV15. Then we will have CV15=1 and CV16=1, then equal values and it is possible to program and read decoder
It is practical to use model, when we are locking decoders CV16 with same value as address of first decoder is. Then during a programming we simple starting with write into CV15="address of requested decoder" and then we can programming it. Once we want to program locomotives on same track, then before programming we will write CV15=0 and then we can programming locomotives. (Write value of 0 to CV15 is good practice at end of of programming)
In a case we will receive decoder in locked state and we do not know value of CV16, we can use small trick. Value 255 in CV15 mean "universal unlock", which unlock all decoders on track, then we can use it only if decoder is connected alone. After this kind of unlock we are usually using simple commands such as restore factory defaults (write CV8=33), or setup new values of locks (write CV16=0 and CV15=0).
Následující tabulka popisuje použitá CV. Following table describe used CVs.

CV Values
CV#defaultmin-maxvýznammeaning
1*1*0-63Primární adresa, spodní část (virtuální CV)Primary address, lower part (virtual CV)
300-255Dálka pulzu prvního výstupu (*0,1 sec)1st output pulse duration (*0.1 sec)
400-255Dálka pulzu druhéhé výstupu (*0,1 sec)2nd output pulse duration (*0.1 sec)
500-255Dálka pulzu třetího výstupu (*0,1 sec)3rd output pulse duration (*0.1 sec)
600-255Dálka pulzu čtvrtého výstupu (*0,1 sec)4th output pulse duration (*0.1 sec)
710-Verze (pouze pro čtení)Version (read only)
8158-Identifikac výrobce (pouze pro čtení)Manufacturer ID (read only)
9*0*0-7Primární adresa, horní část (virtuální CV)primary address, upper part (virtual CV)
1500-255Zámek dekodéru, proměnlivá část (klíč)Decoder lock, variable part (key)
1600-255Zámek dekodéru, statická část (zámek)Decoder lock, static part (lock)
29128128KonfiguraceConfig
3400-7Příznaky (BIT0 (1) Roco/Lenz; BIT1 (2) Základní režim/ režim 16 výstupůFlags (BIT0 (1) Roco/Lenz; BIT1 (2) basic mode / 16 output mode
3510-63Dekodér 1, primární adresa, spodní částDecoder 1, primary address, lower part
3600-7Dekodér 1, primární adresa, horní částDecoder 1, primary address, upper part
3720-63Dekodér 2, primární adresa, spodní částDecoder 2, primary address, lower part
3800-7Dekodér 2, primární adresa, horní částDecoder 2, primary address, upper part
3930-63Dekodér 3, primární adresa, spodní částDecoder 3, primary address, lower part
4000-7Dekodér 3, primární adresa, horní částDecoder 3, primary address, upper part
4140-63Dekodér 4, primární adresa, spodní částDecoder 4, primary address, lower part
4200-7Dekodér 4, primární adresa, horní částDecoder 4, primary address, upper part
4300-255Otočení výstupů, Dekodér 1 a 2Reverse outputs, decoder 1 and 2
4400-255Otočení výstupů, Dekodér 3 a 4Reverse outputs, decoder 3 and 4

Poznámka: Vzhledem k tomu, že je dekodér vyvinut pro přestavníky s pomalým pohybem, není nutné udržovat poslední známý stav. Proto dekodér nemá žádnou paměť, která by udržela informace pokud dekodér nemá napájení.
Note: Because decoder is designed for slow motion switch machines, it is no necessary to store last known state. Then decoder have no any memory ready to store this information when decoder is out of power.


Bonus

Malá bonus poznámka pro zvídavé, kteří mají extrémně rádi matematiku. Tato poznámka má bonusový charakter a není nutné, aby jí běžný uživatel pochopil.
Adresu prvního výstupu lze určit jako: (CV36 ˟ 64 + CV35) ˟ 4 - 3
Adresu druhého výstupu lze určit jako: (CV36 ˟ 64 + CV35) ˟ 4 - 2
Adresu třetího výstupu lze určit jako: (CV36 ˟ 64 + CV35) ˟ 4 - 1
Adresu čtvrtého výstupu lze určit jako: (CV36 ˟ 64 + CV35) ˟ 4
Adresu pátého výstupu lze určit jako: (CV38 ˟ 64 + CV37) ˟ 4 - 3
Analogicky pokračují další výstupy.

Bonus

Small bonus note for inquisitive, for those who extremely like mathematics. This note have bonus character only and it is no necessary to understand it for standard users.
Address of first output can be determined as: (CV36 ˟ 64 + CV35) ˟ 4 - 3
Address of second output can be determined as: (CV36 ˟ 64 + CV35) ˟ 4 - 2
Address of third output can be determined as: (CV36 ˟ 64 + CV35) ˟ 4 - 1
Address of fourth output can be determined as: (CV36 ˟ 64 + CV35) ˟ 4
Address of fifth output can be determined as: (CV38 ˟ 64 + CV37) ˟ 4 - 3
... and analogical for rest of outputs.