masterx81 ha scritto:... Oppure potrebbe essere ce non ci sono idee per migliorare le cose da come le hai pensate
...
Impossibile dai...

masterx81 ha scritto:... Per il discorso del "BURN", non è possibile lavorare in memoria e fare il burn delle pagine solo a automappatura terminata, magari tramite un bottone?
Fammi capire... cosa intendi con "in memoria"? Quella di chi? Dell' Atmega o della MS?
Nel primo caso non ce n'è a sufficienza, a meno che non si memorizzino su SD, con le latenze che ne derivano.
Nel secondo caso, in ram (della MS) si può caricare qualche dato o anche tutto il contenuto ma di una sola pagina alla volta.
Quindi nel cambio pagina o si fa il burn, o si perde tutto.
Questa è un'estrapolazione del file ini che ho fatto per mia comodità:
// Pagina 3 - index 7 advanceTable1 = array , S16, 000, [12x12], "deg", 0.10000, 0.00000, -10.00, 90.00, 1 ; * (288 bytes)
// Pagina 3 - index 7 advanceTable2 = array , S16, 288, [12x12], "deg", 0.10000, 0.00000, -10.00, 90.00, 1 ; * (288 bytes)
// Pagina 3 - index 7 srpm_table1 = array , U16, 576, [ 12], "RPM", 1.00000, 0.00000, 0.00, {rpmhigh}, 0 ; * ( 24 bytes)
// Pagina 3 - index 7 srpm_table2 = array , U16, 600, [ 12], "RPM", 1.00000, 0.00000, 0.00, {rpmhigh}, 0 ; * ( 24 bytes)
// Pagina 3 - index 7 smap_table1 = array , S16, 624, [ 12], "%", 0.10000, 0.00000, 0.00, {loadhigh}, 1 ; * ( 24 bytes)
// Pagina 3 - index 7 smap_table2 = array , S16, 648, [ 12], "%", 0.10000, 0.00000, 0.00, {loadhigh}, 1 ; * ( 24 bytes)
// Pagina 4 - index 8 veTrim1 = array , S08, 636, [16x16], "%", 0.0976562500, 1024.0000, 87.60, 112.40, 1 ; * (256 bytes)
// Pagina 4 - index 8 frpm_trim1 = array , U16, 892, [ 16], "RPM", 1.00000, 0.00000, 0.00, {rpmhigh}, 0 ; * ( 32 bytes)
// Pagina 4 - index 8 fmap_trim1 = array , S16, 924, [ 16], "%", 0.10000, 0.00000, 0.00, {loadhigh}, 1 ; * ( 32 bytes)
// Pagina 5 - index 9 veTable1 = array , U08, 0, [16x16], "%", 1.00000, 0.00000, 0.00, 255.00, 0 ; * (144 bytes)
// Pagina 5 - index 9 veTable2 = array , U08, 256, [16x16], "%", 1.00000, 0.00000, 0.00, 255.00, 0 ;
// Pagina 5 - index 9 veTable3 = array , U08, 512, [16x16], "%", 1.00000, 0.00000, 0.00, 255.00, 0 ;
// Pagina 5 - index 9 frpm_table1 = array , U16, 768, [ 16], "RPM", 1.00000, 0.00000, 0.00, {rpmhigh}, 0 ; * ( 24 bytes)
// Pagina 5 - index 9 frpm_table2 = array , U16, 800, [ 16], "RPM", 1.00000, 0.00000, 0.00, {rpmhigh}, 0 ; * ( 24 bytes)
// Pagina 5 - index 9 frpm_table3 = array , U16, 832, [ 16], "RPM", 1.00000, 0.00000, 0.00, {rpmhigh}, 0 ; * ( 24 bytes)
// Pagina 5 - index 9 fmap_table1 = array , S16, 864, [ 16], "%", 0.10000, 0.00000, 0.00, {loadhigh}, 1 ; * ( 24 bytes)
// Pagina 5 - index 9 fmap_table2 = array , S16, 896, [ 16], "%", 0.10000, 0.00000, 0.00, {loadhigh}, 1 ; * ( 24 bytes)
// Pagina 5 - index 9 fmap_table3 = array , S16, 928, [ 16], "%", 0.10000, 0.00000, 0.00, {loadhigh}, 1 ; * ( 24 bytes)
// Pagina 6 - index 10 veTrim2 = array , S08, 0, [16x16], "%", 0.0976562500, 1024.0000, 87.60, 112.40, 1 ; * (256 bytes)
// Pagina 6 - index 10 veTrim3 = array , S08, 256, [16x16], "%", 0.0976562500, 1024.0000, 87.60, 112.40, 1 ;
// Pagina 6 - index 10 veTrim4 = array , S08, 512, [16x16], "%", 0.0976562500, 1024.0000, 87.60, 112.40, 1 ;
// Pagina 6 - index 10 frpm_trim2 = array , U16, 768, [ 16], "RPM", 1.00000, 0.00000, 0.00, {rpmhigh}, 0 ; * ( 32 bytes)
// Pagina 6 - index 10 frpm_trim3 = array , U16, 800, [ 16], "RPM", 1.00000, 0.00000, 0.00, {rpmhigh}, 0 ; * ( 32 bytes)
// Pagina 6 - index 10 frpm_trim4 = array , U16, 832, [ 16], "RPM", 1.00000, 0.00000, 0.00, {rpmhigh}, 0 ; * ( 32 bytes)
// Pagina 6 - index 10 fmap_trim2 = array , S16, 864, [ 16], "%", 0.10000, 0.00000, 0.00, {loadhigh}, 1 ; * ( 32 bytes)
// Pagina 6 - index 10 fmap_trim3 = array , S16, 896, [ 16], "%", 0.10000, 0.00000, 0.00, {loadhigh}, 1 ; * ( 32 bytes)
// Pagina 6 - index 10 fmap_trim4 = array , S16, 928, [ 16], "%", 0.10000, 0.00000, 0.00, {loadhigh}, 1 ; * ( 32 bytes)
Come si vede, purtroppo le tabelle sono messe un po' qua e un po' la.