domingo, 18 de dezembro de 2016

CVs - ESSAS COISAS AINDA UM TANTO DESCONHECIDAS

Olá Amigos!


Apesar de o sistema DCC já ser mais do que conhecido por todos nós Ferromodelistas, mesmo naqueles que estão se iniciando no Hobby, ainda pairam algumas dúvidas sobre seu funcionamento, principalmente na parte que toca os CVs, suas finalidades e modo de operação.
Uma maneira fácil de se entender um pouco mais sobre o que vem a ser os CVs é procurar os site da NMRA e verificar as Estandardizações (S) e Recomendações Práticas (RP) da entidade sobre o assunto.
NMRA site - http://www.nmra.org/index-nmra-standards-and-recommended-practices
No site podemos ver uma série de tópicos que começam com a letra (S) que são denominados STANDARDS (|Estandardizações), que são normas que norteiam a fabricação de componentes DCC dedicados ao mercado de ferromodelismo norte americano, que é interessante que saibamos, pois consumimos muitos desses produtos.
Essas normas vão desde o formato do perfil de um rodeiro até tamanho de desvios, espaçamento entre linhas, tamanhos de bocas de túneis e assim por diante. Tudo está normatizado, tudo está definido para que a compatibilidade entre os fabricantes seja total e para que tenhamos produtos compatíveis entre si. Pena que nosso fabricante não siga essas normas, mas ele teve suas razões para fazer isso e não devemos contestá-las. Aceitamos ou não. Compramos ou não.
Vamos falar especialmente da Norma S-9. A norma S-9, publicada em 1984, trata do assunto Eletricidade ligada ao Ferromodelismo.
http://www.nmra.org/index-nmra-standards-and-recommended-practices.
Nessa norma, no item A, por exemplo, diz que uma tensão positiva aplicada ao "trilho da direita" de uma linha provocará um movimento à diante de nosso modelo. Sim, simplesmente isso!
Mais abaixo, uma nota (3) explica que o "trilho da direita" é aquele que fica a direita de uma pessoa se colocada entre as linhas com as costas virada para a frente locomotiva.
Por esse motivo, sempre que comprarmos um novo modelo de locomotiva, ao colocarmos ela na linha de testes, ela andará como todas a demais que já compramos ou que iremos a comprar ao longo do tempo daqui para a frente.
Já pararam para pensar porque isso acontece? Nada é por acaso, tudo tem uma explicação.

ELETRICIDADE NO DCC

Dentro dessa Estandardização temos a norma S-9.1 (S-9.1 DCC Electrical Standard - (2006) que trata de como o DCC se comunica dentro do sistema.
Vários itens dentro dassa aba tratam de vários outros assuntos, mas finalmente chegamos a norma S-9.2.2 (S-9.2.2 DCC Configuration Variables) - (2012) que trata especificamente do assunto que aqui nos interessa, os CVs.

DECODERS E CVs

Um decoder recém saído de sua embalagem já vem programado com uma série de padrões para que funcione assim que tiver sido conectado a um modelo.
Mesmo que não façamos nada além de ligar seus fios ao modelo, ele vai funcionar normalmente e seu funcionamento será determinado pelos valores que foram colocados em seus CVs.
Ao ligarmos nosso decoder ao nosso modelo, sendo ele com som ou não, uma série de ações serão realizadas mesmo que não alteremos nada no decoder depois de ligado.
Normalmente a locomotiva andará para frente se girarmos o botão de velocidade, andará para trás se apertarmos o botão de reversão da marcha, se comandarmos, acenderá o farol dianteiro se estiver andando para frente,  ou acionará o farol traseiro se mudarmos a direção, tocará o sino se acionarmos o botão do sino, e tocará a buzina se assim o quisermos e comandarmos, tudo funcionará normalmente a partir do momento que ligarmos a energia do nosso console.
Nos nossos controles de mão, temos normalmente 10 botões de função, mas as funções F1, F2, F8, F0, <, >, e parada de emergência, funcionarão normalmente para todos os decoders e do mesmo jeito em qualquer um deles. Os demais botões podem variar de decoder para decoder.
F3, por exemplo, em determinados decoders pode acionar um toque curto da buzina e em outros pode acionar o som de desengate.
F5 e F6, em alguns decoders podem acender os faróis auxiliares (Ditch Lights) em outros, pode servir para acelerar e desacelerar o som do motor sem alterar a velocidade da locomotiva.
Tudo isso é comandado pelos CVs e como eles são programados por cada fabricante ou pelo Ferromodelista.
Existem mais de mil CVs (1024 CVs segundo a norma S-9.2.2) que podem ser programados dentro da norma desenvolvida pela NMRA. 
Alguns deles são classificados como MANDATÁRIOS (M), alguns são classificados como RECOMENDADOS (R) e outros são classificados como OPCIONAIS  (O). 
Os Mandatários devem ser implementados pelo fabricante de modo a conformar o decoder e seu funcionamento, dentro de normas estabelecidas pelo padrão da NMRA.
Os Recomendados são fortemente encorajados a serem implementados conforme o padrão, mas não são Mandatórios, ou seja, o fabricante é encorajado a conformá-lo de acordo com o padrão, mas se não o fizer, o decoder só funcionará de modo diferente que o normal, mas não deixará de ser homologado pela NMRA.
Os Opcionais, são livres para serem implementados conforme o desejo do fabricante.
Muitos desses 1024 CVs que já existem estão reservados pela NMRA para uso futuro. Não são usados na configuração atual.
Tomemos como exemplo o primeiro CV disponível em um decoder, o CV#01 (Primary Address - Endereço Primário). Ele é um CV que determina o endereço inicial do decoder, é Mandatário e seu valor padrão é 3 (Três), ou seja, todo e qualquer decoder homologado pela NMRA terá o endereço inicial 03 (na Europa também se usa esse valor)
Mais tarde, podemos modificar o endereço dos nossos modelos, mas se resetarmos o decoder, ele estará novamente com o valor 03.

OS CVs E OS FABRICANTES DE CONTROLADORES E DECODRS

Os fabricantes de consoles DCC e decoders têm liberdade de tratar os CVs que não forem Mandatários conforme suas convicções. Até o procedimento de alteração deles são diferentes para cada fabricante.
O console da MRC, por exemplo, sempre que se entra no modo de programação,  nos apresenta uma interface mais amigável que nos leva a pensar que ainda não estamos mexendo em CVs, mas estamos.
Ao entrarmos no modo de programação da MRC ele nos pede inicialmente que estabeleçamos o Address (Endereço). Podemos imediatamente alterar o endereço de nossa locomotiva para quatro dígitos e isso é o mesmo que estarmos alterando os CVs #17 e #18 (Extended Address)  ou de optarmos por um endereço entre (0) e (127) estaremos atuando no CV#01 (Primary Address). Em seguida passamos ao Vstart. Isso é o mesmo que alterarmos o valor do CV#02. Depois nos passa para ACC (Aceleration Rate - CV#03) e depois passamos para DEC (Desaceleration Rate CV#04) e assim por diante até que finalmente nos apresenta a tela de manipulação direta dos CVs, onde você entra primeiramente com o número do CV desejado e em seguida coloca o valor que deseja para esse CV.
Em todo esse processo, ao mudarmos os valores de cada item, estávamos mexendo em CVs.
Quando apertamos um botão de função em nossos consoles, estamos manipulando dados dentro dos CVs dentro de nossos decoders.
Quando apertamos a função F0 (ligar faróis), ou qualquer outro botão de função de nossos consoles, estamos interagindo com os CV#33 a CV#46. Estes CVs fazem o mapa de funções do nosso decoder, que é previamente programado no decoder para que ele responda de acordo com o que desejamos. Mas como são CVs do tipo Opcionais, cada fabricante pode programá-lo de acordo com suas necessidades e por isso que o mapa de função de cada console ou decoder, pode variar de fabricante para fabricante.
Pode-se programar inclusive se um determinado botão pode funcionar como uma chave Liga/Desliga (Aperta/Liga - Aperta/Desliga - F1/F0 = Sino/Luzes) ou como um Push-Button (Aperta/Liga - Relaxa/Desliga - F2 = Buzina). Tudo isso é responsabilidade dos CVs.
Para manipularmos os CVs de num determinado decoder com segurança, precisamos obter o manual do fabricante deste decoder para aquela versão do nosso decoder, pois até para um mesmos fabricante as funções de cada CV podem variar. Procure o site do fabricante do decoder e busque o SUPORTE e encontre o Manual Técnico do decoder. Ele é primordial para uma atuação segura no decoder.
Um Lais DCC funciona diferente de um Tisunami, que funciona diferente de um Econami, que funciona diferente de Locksound, que funciona diferente de um Lenz.
Pode até ter alguns CVs com a mesma função, mas em termos de programação, podem haver algumas diferenças.

UMA PEQUENA EXPLICAÇÃO  SOBRE NÚMEROS BINÁRIOS, BITS E BYTES

Nós aqui no Brasil, no nosso dia a dia, trabalhamos com números decimais. Os números decimais têm base 10. Usamos algarismos de (0) a (9) e quando não temos mais algarismos para representar nossa contagem, adicionamos mais uma casa e começamos novamente com os algarirmos de (0) a (9) e assim temos que, cada vez que um algarismo adianta uma casa nesse sistema, ele é multiplicado por 10, portanto se colocarmos um número na primeira casa, ele toma a seguinte forma: (X) (o algarismo que está ocupando determinada casa), multiplicado por (10) elevado a potência referente ao número da casa, ou seja, a primeira casa tem potencia (0), a segunda casa tem potencia (1), a terceira potência (2) e assim por diante.
Quando escrevemos o número (1234 - hum mil duzentos e trinta e quatro unidades), na verdade estaremos escrevendo 1x10³ + 2x10² + 3x10¹ + 4x10° = 1x1000 + 2x100 + 3x10 + 4x1 (qualquer número elevado a zero é igual a (1)) = 1000 + 200 + 30 + 4 = 1234
No sistema decimal, cada posição (casa) pode receber algarismos de (1) a (9). Quando nossa casa está ocupada pelo número (9), para escrevermos o próximo número que seria (10), temos que abrir mais uma casa, ou seja, 1x10¹ + 0x10° = 10+0 = 10.
Porém, quando começamos a falar de CVs, precisamos também começar a falar de Números Binários.
O que são NÚMEROS BINÁRIOS?
Com números binários o sistema de escrita é idêntico aos números decimais, só que agora estaremos trabalhando com a base (2).
Um detalhe importante é que no sistema binário só podemos escrever algarismos (0) e (1). Podemos interpretar esses algarismos como Ligado (1) - Desligado (0), nivel Alto (1) - nível Baixo (0) e etc, sempre com apenas dois estados, sempre antagônicos. Não existe meio termo, não existe "mais ou menos". É sempre Verdadeiro (1) ou Falso (0).
Podem perguntar: Mas a base não é (2), porque não podemos escrever (2)? Simples! Porque o número (2) expresso nessa forma está na base decimal (2x10°) e não na base binária (1x2¹ + 0x2°).
Do mesmo modo que para escrevermos o número (10) no sistema decimal temos que abrir uma nova casa, no sistema binário, para escrevermos o número (2) vamos precisar abrir também uma nova casa. Um pouco complicado, não? Mas vamos seguir com a explicação.
Vamos lá! Já dissemos que no sistema binário, só podemos usar algarismos (0) e (1), então para escrevermos o zero basta colocarmos o (0) em nossa primeira casa (0x2° = 0x1 = 0) e para escrevermos o (1) colocaremos o algarismo (1) em nossa primeira casa (1x2° = 1x1 = 1).
Seguindo, vamos escrever o número dois. Como faremos isso? Como já dissemos antes, no sistema binário só usamos algarismos (0) e (1). Do mesmo modo que no sistema decimal, ao esgotarmos as possibilidades de algarismos em uma casa (0 a 9), temos que abrir uma nova casa para escrever o número seguinte (10).
No sistema binário, faremos o mesmo, abriremos uma nova casa. Então para escrevermos o número dois, usaremos duas casas. A representação do número dois no sistema binário será (10).
Caiu a casa!!! Como assim??? Não podemos escrever (2), mas podemos escrever (10)???
Observem que, como diz o sistema binário, só podemos usar algarismos (0) e (1) e é isso que que estamos fazendo. Então como fica essa representação?
Vamos lá! O número (10) em binário corresponde a 1x2¹ + 0x2° = 1x2 + 0x1 = 1 + 0 = 2.
Seguindo, vamos escrever o número três. Como seria?
Três, no sistema binário e representado pelo número (11), ou seja, 1x2¹ + 1x2° = 1x2 + 1x1 = 2 + 1 = 3.
Como vemos nossas duas casas binárias já estão ocupadas com algarismos (1) e não temos como colocar outros algarismos nelas, então para o nosso próximo número (4) temos que abrir uma nova casa, então o número quatro, no sistema binário, é representado como (100) - 1x2² + 0x2¹ + 0x2° = 4 + 0 + 0 = 4.
Estamos começando a ver uma certa tendência nesse nosso sistema de representação. A primeira casa representa o 2° a segunda, 2¹, a terceira 2² e seguindo com essa tendência teremos 2³ e assim por diante, até 2 elevado a 7, que é até onde nos interessa, por enquanto e vamos falar disso mais tarde.
Podemos deduzir que cada casa no sistema binário tem um valor máximo que é igual ao valor de 2 elevado ao número da casa que ele representa, indo de (0 a 7 (que é até onde nos interessa, por enquanto)) assumindo os valores 1, 2, 4, 8, 16, 32, 64, 128, sempre representando uma potencia do número (2).
NR1 A título meramente ilustrativo, entre em seu computador e abra a calculadora do Windows e selecione e apresentação "PROGRAMADOR". 
Você verá que  ela mostrará, logo a baixo do display, as palavras:
HEX (Hexadecimal - Base 16)
DEC (Decimal - Base 10 - a que usamos normalmente)
OCT (Octal - Base 8)
BIN (Binário - Base 2). 
Digite um número qualquer (155 no nosso exemplo) e veja sua representação nos demais sistemas.
Clique também nos modos de representação e veja no visor e no teclado numérico a representação do número e os algarismos que são usados para cada sistema.

NR2 - Alguns podem perguntar: Para que  eu preciso saber disso? Isso tudo pode parecer sem necessidade, mas só parece estranho porque não usamos cotidianamente. Até há pouco não sabíamos o que era o sistema binário, mas como vamos precisar usá-lo, estamos conhecendo-o. 
Sistemas de escritas ou numeração diferentes podem não ser usáveis de imediato mas não custa saber do que estamos falando, pois podemos precisar deles mais tarde, como precisaremos do sistema binário para programar nossos CVs.
Os americanos e ingleses usam, ou usavam, sistemas de medidas diferentes dos nossos. 

Nós usamos o metro, quilômetro, décimo, centésimo, quilograma e litro. Eles usam pé, jarda, milha, meio, quarto, oitavo, dezesseis avos, onça, galão e polegada. 
Há algum tempo atrás, falar em décimo de polegada era palavrão para eles. 
Já notaram em filmes policiais a tradicional foto dos meliantes na delegacia. Existe uma régua de medida atrás deles que em nada se assemelha a alguma coisa que tenhamos noção. 
Dizer que uma pessoa tem cinco pés, seis polegadas e alguns avos de altura é palavrão para nós, mas dizer que uma pessoa mede 1,70metros também é palavrão para eles. 
Portanto, pode parecer estranho inicialmente, mas com o uso vamos nos acostumando e não ficará tão estranho.

BITs, BYTEs E CVs

Chegamos ao ponto em que vamos começar a falar de Bits e Bytes e CVs.
Em Eletrônica/Informática, essas casas que representam o números binários (0) e (1) são chamados de BITs.
Um BIT é uma casa de um número binário em que só podem existir algarismos (0) e (1) e esses bits são ditos que vão de 0 a um valor qualquer, dependendo da extensão do nosso número.
Então temos o Bit0, Bit1, Bit2, o Bit3 sempre lidos da direita para a esquerda representando os valores 1, 2, 4, 8, 16, 32, 64 e 128..., que são correspondentes às potências de 2 elevados ao número do BIT correspondente.
Um número binário ou conjunto de oito BITs é denominado BYTE.
Sempre que falarmos em Bytes, estaremos nos referindo a um conjunto formado por oito Bits. Então o número binário (10011011), com oito bits, representa um BYTE.
Que números podemos escrever dentro de um Byte?
Um byte pode representar 256 números que vão de (0) a (255). O número binário apresentado mais acima (10011011), será traduzido como: 128 + 0 + 0 + 16 + 8 + 0 + 2 + 1 = 155, na base decimal.
Se todos os seus bits fossem (1) seu valor seria 255 e se fossem (0) seu valor seria zero, naturalmente.
Já perceberam onde estamos chegando? Não? então vamos prosseguir.
Para que possamos programar ou interagir como funcionamento de  um decoder usamos os CVs que tem a forma de um BYTE, ou seja um número binário com oito BITs.
Os CVs são dados e/ou parâmetros que, ou já estão programados dentro dos decoders, ou precisamos programar para que o nossos modelos funcionem da maneira que desejamos.
Um CV tem oito casas que devemos preencher com (0) e (1), portanto, corresponde a um BYTE, ou seja, corresponde a oito BITs nos quais programaremos ou colocaremos os dados que queremos usar para interagir com nosso modelo.
Um sistema DCC é composto por uma estação de controle, que fica do lado de fora da maquete e o decoder que fica dentro da locomotiva.
Tanto o console quanto o decoder são micro computadores independentes que servem para controlar o nosso sistema DCC.
No nosso console, fora da maquete, o micro computador interno interpreta nossos comandos e os codifica em um sistema de dados que o micro computador do decoder possa entender.
Esses dados são chamados de PACKETS (Pacotes) que são enviados através dos trilhos para o decoder dentro da locomotiva que os decodificará e agira conforme as instruções recebidas e de acordo com os CVs programados anteriormente dentro dele.
Bachmann EZ-Command
Tomemos um console bem simples como o EZ Command da Bachmann .
Tudo muito simples. Uma fonte de alimentação, um cabo de força para ligar aos trilhos, um painel com um botão de parada, dois botões de direção, um botão de função, 10 botões de endereçamento direto das locomotivas a serem controladas e o botão de ajuste de velocidade.
Seleciona-se a locomotiva a ser comandada, seleciona-se a direção, ajusta-se a velocidade e o console começa a mandar pacotes para o decoder que ajusta seus dados de acordo com essas instruções e interage com a locomotiva
NCE Power Cab
até que um novo botão seja apertado e novo pacote de instruções seja enviado e seja necessário novo ajuste no decoder ou que um novo decoder seja acionado.
É assim que funciona, bem simples não?
Mas os consoles vão se sofisticando e sofisticam-se os decoders e mais botões surgem nos consoles e novas funções são implementadas nos decoders e mais complexo vai ficando a operação mas no "frigir dos ovos", depois de comandada uma operação é assim que funciona.
Vejam ao lado os consoles mais populares da NCE e da MRC. Parecem complexos, não?
MRC Prodige Advanced Squared 2
Mas posso garantir que seu funcionamento é o
mesmo que acontece no console da Bachmann, bem mais simples.
A diferença é que os dois últimos têm muito mais capacidade de se configurar os CVs e com isso, conseguem extrair muito mais desempenho dos nossos modelos que o console da Bachmann.
Todo o segredo está nos CVs!!!!!
Como os CVs fazem isso?
Pois bem, os CVs fazem isso de diversas maneiras.
Se tomarmos como exemplo o CV#01, veremos no manual do decoder que ele aceita valores de (0 a 127).
O que isso quer dizer?
Pois bem. Este é um CV do tipo Mandatário (tem que seguir a especificação da NMRA), e seu valor inicial é 03, mas pode ser modificado e com valores que podem variar de 1 a 127.
Este CV interage diretamente com mais dois outros CVs, (CV#19 (Consist Address) e CV#29 (Configuration Data 1).
Diz ainda a especificação que o decoder irá processar todo e qualquer Pacote de instruções para o endereço contido no CV#1, quando o bit5 do CV#29 estiver setado com o valor (0).
Se o CV#1 for setado para um novo valor, isto fará com que  o CV#19 (endereço de Consist) seja setado para (0) e o bit5 do CV#29 para (1).
O Bit5 do CV#29 deve ser setado para (1) de modo a que o valor setado no CV#1 possa ser mudado em "Modo de Operação". Setando o bit5 do CV#29 de novo para (0), isso fará com que o decoder reconheça o novo endereço primário.
Vejam que no CV inicial de nosso sistema já há uma interação com mais dois outros CVs (CV#19 e CV#29) Isso é transparente para nós. O importante aqui é saber que o CV#01 indica o endereço inicial da nossa locomotiva e a partir dele é que todo o sistema começa.
NR - Vale ressaltar que o CV#1 tem, como todos os CVs, oito bits, mas somente sete bits são usados (bits 0, 1, 2, 3, 4, 5, 6). O bit 7 (oitava posição) não é usado e portanto sempre estará com valor (0), daí no CV#01 podemos somente colocar dados que variam de 1 a 127. 
Para colocarmos endereços com mais de 3 dígitos, já estaremos em outro nível, interagindo com outros CVs (falaremos disso mais tarde).

Um outro modo de funcionamento de um CV, mais direto, é servir como uma espécie de memória para um determinado valor. Coloca-se esse valor no CV e o micro processador do decoder, usa esse valor para ajustar os parâmetros que vai usar para determinadas funções.
CV#02-(Vstart), CV#03-(Aceleration Rate), CV#04-(Deceleration Rate), CV#05-(Vhigh), CV#06-(Vmid), são exemplos de CVs que trabalham desse modo. Geralmente os valores colocados neles (0 a 255) entram em uma fórmula do tipo usado para o CV#02 (Vstart):
Voltagem de partida = Voltagem da fonte interna do decoder 
(pode chegar a 20V, mas normalmente é 14V) 
vezes o valor colocado em CV#02 (0 a 255)  
dividido por  255
que vai definir o valor de tensão que o decoder usará para o funcionamento do motor no Step 1.
No exemplo acima, o CV#02 é normalmente setado na fábrica com o valor (0), então o resultado dessa fórmula é ZERO.
Mas se tivermos uma locomotiva em que o motor precisa de uma voltagem maior para dar a partida (por exemplo 5V para uma tensão da fonte interna do decoder de 14V) teremos que colocar no CV#02 o valor entre (91 ou 92) pois:
(14 x 91 ou 92) : 255 = 4,99 ou 5,05V
Este valor de tensão será enviado ao motor quando colocarmos o botão de velocidade no Step 1. Conjugando o ajuste de CV#02-(Vstart), CV#05-(Vhigh), CV#06-(Vmid), podemos ajustar a curva de performance de um motor de modo a que ele fique o mais linear possível, melhorando o desempenho de nosso modelo (veja figura abaixo).
Alguns CVs são do tipo "Read Only" (Somente para Leitura). São setados de fábrica com um determinado valor e esse valor não pode ser mudado, dependendo do valor, resetam o decoder para os valores de fábrica.
É o caso do CV#07 (Manufacturer Version - Versão do Software do Fabricante) que é ajustado na fábrica com o valor (70 - Soundtraxx Econami). Também é o caso do CV#08 (Manufacturer ID - Identificador do Fabricante) que é setado na fábrica com o valor (141 - Soundtraxx Econami), mas se for reajustado para um valor entre (8) e (13)* provocará o reset do decoder, segundo uma tabela que pode ser vista no manual do decoder.
O valor (8) colocado nesse CV, fará com que todos os CVs do decoder retornem aos valores de fábrica, que normalmente nos salva de um ajuste desastroso ou incorreto.
(*) O manual mostra a tabela com valores somente entre 8 e 12, então pode ter havido em algum lugar, um erro de impressão.

Outros tipos de CVs são aqueles que trabalham em pares. É o caso dos CV#17 e CV#18. Eles trabalham em pares e armazenam os dados para que possamos identificar nossos modelos com números de (0000 a 9999).
NR - O jeito de trabalhar com esses CVs é um tanto complicado e normalmente é mais fácil usar o roteiro do nosso console para ajustarmos o endereço de quatro dígitos que colocaremos na nossa locomotiva. Desse modo, todos os ajustes necessários são feitos automaticamente e não precisamos nos preocupar com mais nada a não ser o endereço que colocamos na locomotiva para podermos selecioná-la mais tarde. 
Normalmente usamos o número estampado na cabine da locomotiva para identificá-la.

Um outro modo dos CVs trabalharem é selecionar um ou mais Bits de um Byte para funções especiais.
O CV#19 (Consist Address - Endereço do Consist) funciona desse modo. Nesse CV os bits (0) a (6 ) do CV servem para setar o endereço do Consist que pode ser colocado entre 0 e 127 (número binário com sete bits) e o bit (7) serve para indicar a direção da locomotiva ((0) direção normal (de frente) - (1) direção invertida (de ré)).
NR - Neste mesmo Blog, quando falamos sobre Bits e Bytes, dissemos que um bit só pode ter valores entre (0) e (1) e que esse valor deve ser multiplicado pelo valor da posição relativa do Bit dentro do Byte. Então no caso do CV#19, o bit 7, que recebe o nome de CDIR (Consist Direction), quando for setado (for colocado (1) em sua posição) somará 128 unidades ao endereço escolhido para o Consist, ou seja, se numerarmos um Consist de duas locomotivas com o número (100), o CV#19 da locomotiva frontal deverá receber o valor (228) (100 do Consit + 128 da direção a frente) e o CV#19 do decoder da segunda locomotiva deverá receber o valor (100) (100 do Consist + 0 da direção a ré).

Manipular os CVs nos permite ajustar os parâmetros de nossos modelos para que eles funcionem do jeito que queremos.
Quando colocamos duas, ou mais locomotivas, em Consist, apenas numerando esse Consist, com um novo endereço, a operação das locomotivas seguirá a programação que elas tinham quando funcionavam sozinhas, mas imaginemos que colocamos duas locomotivas engatadas de ré e queremos que apenas os faróis frontais das duas acendam e sempre e somente naquela que  estiver andando para frente. Imaginemos que queremos que somente a buzina ou o sino da locomotiva frontal toque quando necessário. Podemos fazer isso manipulando os CVs das locomotivas envolvidas de modo a inibir essas funções quando não desejadas. Veja o manual do fabricante do decoder para saber como fazer esses ajustes.

MAPAS DE FUNÇÕES

Os CVs são tão poderosos que, através deles, podemos mudar o modo como os botões de função do nosso console funcionam.
Os CVs #33 a #46 (Function Status - Estados das Funções) fazem esse serviço.
Cada um deles está designado para atuar referente a um botão de função (F0 a F12) e para cada um deles é designado um  valor que ajusta a sua função. Veja o mapa abaixo.
Por exemplo. Para o botão de função F0 (Liga/Desliga os faróis) dois CVs são designados para esse botão. CV#33 comanda o farol dianteiro e CV#34 comanda o farol traseiro. Esses dois CVs precisam ter valores (1) para o farol dianteiro e (2) para o farol traseiro. Outros valores possíveis são:
(4) - Buzina, (8) - Sino,  (16) - Saída FX3, (32) - Saída FX4, (64) Freio Dinâmico, (128) - Buzina Curta.
Esses valores são usados para todos os CVs envolvidos, porem nem todos os botões podem assumir todas as funções que podem ser dignadas, havendo um escalonamento entre eles. Devemos consultar o manual do decoder para configurá-los corretamente.
NR - É importante saber  com qual a versão do software que o decoder está programado, pois mesmo em decoders com a mesma marca isso pode levar a métodos diferentes de programarmos os decoders. 
As informações acima se referem ao decoder Soundtraxx Econami 100 com software versão 1.3. 
O Soundtraxx Econami 200 PNP já incorpora a versão 1.4 do software e o método de programação do Mapa de Funções é bastante modificado, ficando mais simples de programar os botões, mas envolvendo CVs diferentes dos que são usados na versão 1.3 do software (ele utiliza uma tabela indexada para o mapa de funções e os CVs envolvidos vão de #257 a #322) .

EFEITOS LUMINOSOS

Em muitas fases desse relato, mostramos que alguns CVs são relacionados a outros CVs para que sua função seja plenamente executada.
Acima falamos que a função F0 está ligada ao CV#33, então dissemos que para a função F0 funcionar como F0 (acender o farol) o CV#33 precisa estar setado com o valor (1) ou (2).
Mas como esse farol será aceso? Que efeito terá esse farol? Piscará? Oscilará? Funcionará como um "Strobo Light" simples, ou como um "Strobo Light" duplo?
Pois bem, para cada um desses efeitos existe um valor em uma tabela, que deverá ser colocado em um CV específico, que deverá estar relacionado ao botão de função que acionará o efeito.
Para o botão F0, o farol dianteiro é relacionado ao CV#49 e para o farol traseiro o CV#50.
Para o botão que aciona os faróis auxiliares (FX3 e FX4 - F5 e F6, normalmente) os CVs #51 e #52. Alguns decoders têm mais duas saídas de efeitos luminosos (FX5 e FX6) que podem ser designadas para qualquer botão de função no nosso console, mas  normalmente são associados aos botões F5 e F6 também, em decoders mais comuns (com apenas duas saídas FX).
Esses CVs (#49 a #54) são formatados da seguinte forma:
Os bits (0) a (4) são reservados para os valores que selecionarão os efeitos que serão colocados em cada saída de luz do decoder. São cinco bits envolvidos e isso nos dará 32 efeitos possíveis, mas nem todos os valores são usados em todos os decoders. Já encontrei decoderes com 25 efeitos e outros com menos como o da tabela ao lado.
O bit (5), denominado PHSE (Fase) serve para determinar a fase do efeito em relação a um outro CV do mesmo tipo ou correspondente.
O bit (6), denominado XING (Grade-Crossing Logic) aciona o efeito de piscar os faróis ao acionarmos a buzina ao passar em uma passagem de nível.
O bit (7), denominado LED (LED Compensation Mode) serve para alterar o método de envio de corrente à saída de modo a balancear os níveis de luminosidade entre LEDs e Lampadas Incandescentes.
Vamos falar, como exemplo, do efeito que pisca os faróis auxiliares (FX3 e FX4) ao acionarmos a buzina (Grade-Crossing Logic), que podem ser implementadas com os CVs #51 e #52 no Soundtraxx Econami. Isso requer o efeito Ditch Light Tipo I e o valor para isso é (9). Então, colocando o valor (9) nos CVs #51 e #52 eles acenderão.
Para acrescentarmos o efeito Grade Crossing Mode, (piscar com o acionamento da buzina), devemos setar o bit (6) XING.
Note que o bit (6) quando é setado, acrescenta (64) unidades ao byte então valor a ser colocado nos devidos CVs deve ser (9) do efeito Ditch Light, somado a (64) (do efeito XING) que nos dá (73).
Mas se assim procedermos, os dois faróis piscarão em sincronismo  e não é isso que queremos. Queremos que os dois pisquem alternadamente. Para acertar isso devemos usar o bit (5) PHSE.
O bit (5) PHSE inverte a fase do efeito, ou seja, quando deveria acender ele apaga e vice-versa. Mas se setarmos os bits (5) dos dois CVs, ele continuarão em sincronismo, então devemos setar apenas um dos bits PHSE dos dois CVs e com isso teremos os dois faróis auxiliares piscando alternadamente quando acionamos a buzina da nossa locomotiva.
Note também que, do mesmo modo que o bit (6), esse bit setado, soma um valor fixo ao CV (o valor é 32) que deverá ser somado ao valor anterior de um dos CVs, permanecendo o outro CV com o valor anterior. Então, un dos CVs ficará com o valor (73 - 9 do efeito + 64 do XING) e o outro CV terá o valor (105 - 9 do efeito + 64 do XING + 32 do PHSE)
Ainda relacionado a esse efeito luminoso, temos o CV#60 (Grade-Crossing Hold Time) que ajusta o tempo em que o efeito nos faróis auxiliares ficará ativo. Temos quatro bits disponíveis (bits (0) a (3)) que nos dá uma contagem de 0 a 15 (segundos). Os demais bits do CV são zerados (não são usados).
Tudo o que falamos acima está relacionado aos CVs #51 e #52, mas não é interessante que para acionarmos dois faróis que funcionam em conjunto, tenhamos que acionar dois botões de função (F5 e F6). Precisamos mudar o mapa de funções para que os faróis auxiliares possam ser acionados por apenas um botão de função. Como fazer isso?
No mapa de funções (ver tabela acima) podemos ver que os botões de função F5 e F6 estão associados aos CVs #39 e #40. Vamos escolher um deles (F5 por exemplo). F5 está associado ao CV #39 cujo valor (2) aciona a função. Para o CV#40 que aciona a saída FX4 devemos colocar o mesmo valor (2) para que seja agora acionado pelo botão de função F5, também.
O botão F6 agora fica sem função até que designemos nova função para ele.
Nota Importante - Isso se  refere apenas ao decoder em que estivermos trabalhando ou esteja instalado na locomotiva que estamos trabalhando. Ao selecionarmos uma outra locomotiva, ou um outro decoder, o nosso console trabalhará normalmente, de acordo com os parâmetros  que estiverem definidos nesse novo decoder, pois o mapa de funções para um determinado decoder fica armazenado no decoder e não no console.

UM OUTRO JEITO DE MANIPULARMOS CVs

Um jeito também interessante de se trabalhar com CVs eu encontrei em uma locomotiva Atlas Golden Series SD24 equipada com um decoder QSI Quantum System Q1a Sound Decoders.
Eu comprei essa locomotiva para modelar a nossa SD-18 da RFFSA, mas a SD-24 tem o som de  motor Turbo e a SD-18 da RFFSA tem motor Aspirado e não tem o som do Turbo.
Neste decoder os diversos sons estão colocados e registros diferentes e podem ser ajustados individualmente (para minha sorte) bastando para isso ajustarmos alguns CVs, mas não existe um CV individual para cada som e sim um CV para selecionar os sons e outro Cv para ajustar o volume desse som. Os sons são ajustados da seguinte forma.
Primeiramente precisamos consultar o manual do decoder e achar uma tabela de valores específicos que devem ser colocados no CV#49. O CV#49 seleciona apenas que som vamos ajustar.
Em seguida devemos acionar o CV#52 e aí colocar o nível de som que queremos para o nosso decoder. O CV#52 ajusta apenas o volume de cada som selecionado pelo CV#49.
Os valores para esse CV variam de (0) a (15), sendo (0) correspondente a nenhum som e os incrementos de (1) a (15) aumentam o som em 2dB (decibels ou decibéis)*
É como se tivéssemos uma chave seletora representada pelo CV#49 e um botão de volume representado pelo CV#52.
(*) dB (Decibels ou Decibéis) é uma escala logarítmica usada para medir potencia de sons e outras grandezas. A escala logarítmica é mais usada quando há grandes variações entre as grandezas medidas. Uma variação de apenas 3dB entre dois eventos, significa que um evento é o dobro do outro.

Quando se quer, podemos dizer, "customizar" o funcionamento de um decoder ou uma locomotiva equipada com um determinado decoder e é sempre interessante e divertido fazermos isso, precisamos ser minuciosos em escolher nossos parâmetros e não é uma instalação básica que vai nos dar essa diferenciação. Temos que ir fundo em nossas escolhas e se não soubermos como, procurar aprender como se faz.
É o mesmo caso de comprarmos uma estrutura para nossa maquete e a colocarmos sem pintura, com as cores vinda de fábrica, em nossas maquetes. Não terá o mesmo brilho que se fizermos a sua pintura, detalhamento e envelhecimento.
Será uma peça única, diferente de todas as outras o que tornará nossa maquete também única, diferente de todas as demais.


Por enquanto é só, Amigos. Espero que tenham gostado e consigam tirar proveito desse texto.

Até uma próxima postagem

J.Oscar