iobuffer

Spazio dedicato agli utenti Italiani
Post Reply
gianmagna
Posts: 16
Joined: Sun Feb 14, 2021 11:47 am
Has thanked: 25 times
Been thanked: 4 times

iobuffer

Post by gianmagna »

Buongiorno Francesco
Stavo dimensionando su un ESP32 un iobuffer.dim(0,1000) ma non riesco ad inserire tutti i valori su una riga ,
c'è il modo di andare a capo senza dimensionare un altro buffer ?
sono solo 5 gli iobuffer o posso implementarne di più, oppure aumentare il dimensionamento del iobuffer ?
dovrei fare delle tabelle da 125 byte e nel iobuffer dimensionato a 1000 me ne stanno 8 ,ne ho una quarantina di queste tabelle
mi servono per pilotare i 14 pwm per fare effetti luminosi di cui parecchi in contemporanea.
ho provato con i file inserendo come testo i valori della tabella ma nel rileggere il FILE.READ_IOBUFF mi da i valori decimali anche delle virgole.
credo che dovrei inserire i valori in hex nel file ,ma non mi sono messo a convertirli .
se hai qualche altra buona soluzione !
grazie
Gianfranco
User avatar
cicciocb
Site Admin
Posts: 2041
Joined: Mon Feb 03, 2020 1:15 pm
Location: Toulouse
Has thanked: 436 times
Been thanked: 1342 times
Contact:

Re: iobuffer

Post by cicciocb »

Buongiorno,
se capisco bene stai cercando di inizializzare un iobuffer con un comando del tipo :

Code: [Local Link Removed for Guests]

IOBUFF.DIM(0, 10) = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
e sei limitato in quanto non puoi inserire tutti i 1000.

In questo caso puoi usare il comando DATA oppure mettere i valori in una string in formato esadecimale ed usare la funzione IObuff.FromHex.

Questo é un esempio che dovrebbe chiarire come fare :

Code: [Local Link Removed for Guests]

'this simple code using DATA to initialise an IOBUFFER
' a complete help of Annex32 can be found here
' https://cicciocb.com/annex32help/V1.442/

'TABLE 1
DATA 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15
DATA 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31
DATA 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47
DATA 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63
DATA 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79
DATA 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95
DATA 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111
DATA 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127
DATA 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143
DATA 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159
DATA 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175
DATA 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191
DATA 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207
DATA 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223
DATA 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239
DATA 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255

'TABLE 2
a$ =      "000102030405060708090A0B0C0D0E0F"
a$ = a$ + "101112131415161718191A1B1C1D1E1F"

'Method 1
IoBuff.Dim(0, 256)
for z = 0 to 255
  read v
  IoBuff.write(0, z, v)
next z

print "IoBuffer 0"
for z = 0 to 255
  print IoBuff.read(0, z),
next z

print
print "IoBuffer 1"
'Method 2
IoBuff.fromHex(1, a$)
for z = 0 to 31
  print IoBuff.read(1, z),
next z

Puoi vedere il risultato su WOKWI qui

https://wokwi.com/projects/379092831374592001
gianmagna
Posts: 16
Joined: Sun Feb 14, 2021 11:47 am
Has thanked: 25 times
Been thanked: 4 times

Re: iobuffer

Post by gianmagna »

grazie Cicciocb
sto anche imparando ad usare FILE.WRITE_IOBUFF e FILE.READ_IOBUFF
che così non occupo troppo spazio nel programma e li carico di volta in volta
anche perchè così posso usare le tabelle anche per altri programmi
grazie ancora
Gianfranco
Post Reply