void LedCubeMonoExtended::lightAllLedOnLayer(uint16_t layerNum) { uint16_t ledMask[4]; ledMask[0] = bit(16) - 1; ledMask[1] = bit(16) - 1; ledMask[2] = bit(16) - 1; ledMask[3] = bit(16) - 1; drawLayer(LAYER_MASK(layerNum - 1), (uint16_t *) ledMask); }
void LedCubeMono::drawFrame(uint16_t *frameMask) { for (int layer = 0; layer < this->numberOfLayers; layer++) { this->drawLayer(LAYER_MASK(layer), (uint16_t *) (frameMask+ (layer* this->numberOfRegistersUsedForEachLayer))); delay(1000 / (this->frameRate * this->numberOfLayers)); } }
/* Function who light one LED by it number */ void LedCubeMonoExtended::lightOneLEDByHisNum(int layerNum, int num) { uint16_t ledMask[4]; for(int i = 0; i<4;i++) ledMask[i] = 0; if(num <=16) ledMask[0] = bit(num-1); else if(num <= 32) ledMask[1] = bit(num-17); else if(num <= 48) ledMask[2] = bit(num-33); else if(num <= 64) ledMask[3] = bit(num-49); drawLayer(LAYER_MASK(layerNum - 1), (uint16_t *)ledMask); }