Quando si programma in digitale si inviano stringhe di comando in codice binario. Il codice binario è formato da byte, costituiti a sua volta da 8 bit.
E' un sistema semplice di conteggio, calcolo, numerazione, etc. che prevede il raddoppio del numero precedente.
Un byte è così formato: <font color="red">00000000</font id="red">
Lo si calcola sempre da destra verso sinistra, partendo da 0 (zero), il primo elemento di destra.
Avremo quindi bit 0, bit 1, bit 2, bit 3, bit 4, bit 5, bit 6 e bit 7 così allineati:
<font color="red">7-6-5-4-3-2-1-0</font id="red">
Il significato di ogni singolo bit è il doppio del precedente ovvero avremo la seguente traduzione:
<font color="red">128-64-32-16-8-4-2-1</font id="red">
Il significato viene attivato mettendo ad 1 il sigolo bit o disattivato lasciando a 0 il bit.
Quindi, se ad esempio abbiamo il seguente byte: 00001011 significherà che:
Ci sono attivati i bit 0; 1; 3, di conseguenza quel byte riporterà il valore 11 che sarà la somma di 1+2+8.
Il valore massimo che può raggiungere un byte è 255, calcolato sommando tutti i valori 128+64+32+16+8+4+2+1
Se volessimo avere un parametro uguale a 270 dobbiamo creare un secondo byte, che riparta da capo con il conteggio, ma essendo sul secondo byte, sarà scontato che avendo il primo tutto a zero si partirà con il conteggio da 256.
Cioè il bit 0 del parametro 2 continuerà di un unità il conteggio dei parametri precedenti.
Per ottenere 270 dovtremo avere un una sequenza come questa:
1: 00000000
2: 00001111
Ove il parametro 1 riporta "0", sottointendendo un valore 255, perché troviamo il parametro 2 con il valore 15 inserito. Ovviamente, sommando i parametri 1 e 2 troviamo il valore 270 (255+15)
Per l'inserimento degli indirizzi lunghi nella programmazione dei decoder dobbiamo tenere conto di questa regola, utilizzando 2 diversi parametri, ovvero la CV 17 e la CV 18.
Però dobbiamo fare un calcolo algebrico, bisogna tener conto del passo 255 per ogni byte e sottrarre la differenza per il numero di indirizzo richiesto.
A tal proposito ho preparato questa tabella che, in fin dei conti, è un prontuario del progressivo di 255 per byte:
Immagine:
443,76 KB
Nella colonna scritta in rosso è riportato il byte da inserire, mentre nella colonna scritta in blu il progressivo di 255.
Ora... Se volessimo dare come indirizzo alla nostra locomotiva 7428 dobbiamo innanzi tutto cercare il range di allocamento.
Il 7428 è un numero inserito fra i valori 7424 e 7679 del parametro 221
Dobbiamo quindi inserire 221 nella CV 17 e fare il seguente calcolo:
Valore da inserire, meno il valore minimo del parametro, cioè:
7428-7424=4
Nella CV 18 andrà inserito 4.
Avremo così programmato la nostra locomotiva con l'indirizzo 7428.
Cioè la somma di 7424 (Cv 17)+4 (Cv 18)