1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | // BigArray(adrs) function BigAry(a){ this .adrs=a; // EEPROM Address this .length=0; // Length this .set= function (idx,n){ // Set Data var adrs= this .adrs+idx*4; // EEPROM Address+Index i2cw(0x50|(((adrs>>16)&1)<<2), (adrs&0xff00)>>8,adrs&0xff, (n&0xFF000000)>>24,(n&0xFF0000)>>16,(n&0xFF00)>>8,n&0xFF); if ((idx+1)> this .length){ this .length=idx+1; } }; this .get= function (idx){ // Get Data var adrs= this .adrs+idx*4; // EEPROM Address+Index var t1,t2,t3,t4,d=0x50|(((adrs>>16)&1)<<2); i2cw(d,(adrs&0xff00)>>8,adrs&255); i2cr(d,t1,t2,t3,t4); return (t1<<24)|(t2<<16)|(t3<<8)|t4; }; } // Sample Code var myAry= new BigAry(10*2048); while (1){ log( "index\n" ); var p=input(); log( "value (0-0xFFffFFff)\n" ); var n=input(); myAry.set(p,n); var n=myAry.get(p); log( "data=" ,n, " __ len:" ,myAry.length, "\n" ); } |