Premetto che non posseggo una centrale DCC al momento, essendo su sistema Marklin ho ancora una vecchia MS1, ma posseggo il lokprogrammer che ha una sezione per leggere e scrivere CV in modalità 'Binario di Programmazione'.
Studiando suddetta libreria ho trovato che i metodi usati per gestire le CV (leggere e scrivere) hanno parametro per 'scegliere su quale CV lavorare' in formato 'uint16_t'
Codice: Seleziona tutto
/*+
* getCV() returns the selected CV value.
*
* Inputs:
* CV - CV number. It must point to a valid CV.
*
* Returns:
* Value - CV value. Invalid CV numbers will return an undefined result
* since nothing will have been set in that EEPROM position.
* Calls notifyCVRead() if it is defined.
*/
uint8_t getCV( uint16_t CV );
![Very Happy :D](./images/smilies/icon_biggrin.gif)
Pertanto ho provato a leggere una CV superiore alla 255 tramite il lokprogrammer e arrivo fino alla 1023 (i valori successivi non sono selezionabili dal lokprogrammer) e vengono lette senza problemi.
La mia domanda allora è: ma le CV31 e 32 a cosa servono?
Durante le prove che ho fatto tali cv non erano nemmeno 'gestite' nel codice che ho scritto per il micro, eppure il lokprogrammer leggeva 'CV alte' lo stesso.
Il non avere bisogno delle CV31 e 32 è una caratteristicha del LokProgrammer? Sono oboslete e non servono più? Sono abbastanza confuso in merito.
Anche perchè nel mio progetto arrivo massimo alla CV351, non avendo bisogno di CV più alte non sarebbe male l'idea di usare il vantaggio datomi dal formato uin16_t e di poter ignorare la gestione delle CV31 e 32.