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 29 30 31 32 | // BigArray:Push(BigArray,value) // 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; }; } // BigArray Push function push(ary,n){ ary.set(ary.length,n); } // Sample Code var myAry= new BigAry(0); while (1){ log( "value (0-0xFFffFFff)\n" ); var val=input(); push(myAry,val); sleep(10); var n=myAry.get(myAry.length-1); log( "data=" ,n, " / len:" ,myAry.length, "\n" ); } |