GY-63_MS5611/libraries/BitArray/examples/bitArrayDemo0/bitArrayDemo0.ino
rob tillaart 8e5236540e + private calls inline -> performance & footprint
+ optimized clear()
+ removed todo
2015-12-09 22:51:16 +01:00

114 lines
2.3 KiB
C++

//
// FILE: bitArrayDemo0.ino
// AUTHOR: Rob Tillaart
// VERSION: 0.1.02
// PURPOSE: demo - store 2000 dice rolls
// DATE: 14-11-2015
// URL:
//
// Released to the public domain
//
#include "BitArray.h"
//#include "avrheap.h"
#define SAMPLES 2000
BitArray diceRolls;
int count[7] = { 0, 0, 0, 0, 0, 0, 0 };
//Avrheap myheap;
void setup()
{
Serial.begin(115200);
Serial.print("Start ");
Serial.println(__FILE__);
Serial.print("LIB VERSION:\t");
Serial.println(BITARRAY_LIB_VERSION);
int x = diceRolls.begin(3, SAMPLES); // 3 bits can hold any value 1..6
if (x == BA_NO_MEMORY_ERR) Serial.println("no mem");
diceRolls.clear();
// myheap.followHeap();
Serial.print("CAPACITY:\t");
Serial.println(diceRolls.capacity());
Serial.print(" MEMORY:\t");
Serial.println(diceRolls.memory());
Serial.print(" BITS:\t");
Serial.println(diceRolls.bits());
Serial.print("SEGMENTS:\t");
Serial.println(diceRolls.segments());
for (int i = 0; i < SAMPLES; i++)
{
byte roll = random(6) + 1;
diceRolls.set(i, roll);
if (i % 40 == 0)
{
Serial.println();
Serial.print(i, DEC);
Serial.print(")\t");
}
Serial.print(roll, DEC);
Serial.print(" ");
}
Serial.println();
// myheap.followHeap();
Serial.println();
for (int i = 0; i < SAMPLES; i++)
{
if (i % 40 == 0)
{
Serial.println();
Serial.print(i, DEC);
Serial.print(")\t");
}
Serial.print(diceRolls.get(i), DEC);
Serial.print(" ");
}
Serial.println();
Serial.println();
dicerolls.clear();
Serial.println();
for (int i = 0; i < SAMPLES; i++)
{
if (i % 40 == 0)
{
Serial.println();
Serial.print(i, DEC);
Serial.print(")\t");
}
Serial.print(diceRolls.get(i), DEC);
Serial.print(" ");
}
Serial.println();
Serial.println();
for (int i = 0; i < SAMPLES; i++)
{
count[diceRolls.get(i)]++;
}
for (int i = 0; i < 7; i++)
{
Serial.print(i, DEC);
Serial.print(")\t");
Serial.println(count[i]);
}
Serial.println("\n finish test...\n");
}
void loop()
{
}