PixelArray

Dependents:   EITI_Neopixel

Committer:
villemejane
Date:
Mon Dec 13 08:57:01 2021 +0000
Revision:
0:fe962821e6a4
PixelArray;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
villemejane 0:fe962821e6a4 1 /* Copyright (c) 2012 cstyles, MIT License
villemejane 0:fe962821e6a4 2 *
villemejane 0:fe962821e6a4 3 * Permission is hereby granted, free of charge, to any person obtaining a copy of this software
villemejane 0:fe962821e6a4 4 * and associated documentation files (the "Software"), to deal in the Software without restriction,
villemejane 0:fe962821e6a4 5 * including without limitation the rights to use, copy, modify, merge, publish, distribute,
villemejane 0:fe962821e6a4 6 * sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
villemejane 0:fe962821e6a4 7 * furnished to do so, subject to the following conditions:
villemejane 0:fe962821e6a4 8 *
villemejane 0:fe962821e6a4 9 * The above copyright notice and this permission notice shall be included in all copies or
villemejane 0:fe962821e6a4 10 * substantial portions of the Software.
villemejane 0:fe962821e6a4 11 *
villemejane 0:fe962821e6a4 12 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
villemejane 0:fe962821e6a4 13 * BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
villemejane 0:fe962821e6a4 14 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
villemejane 0:fe962821e6a4 15 * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
villemejane 0:fe962821e6a4 16 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
villemejane 0:fe962821e6a4 17 */
villemejane 0:fe962821e6a4 18
villemejane 0:fe962821e6a4 19 #ifndef PixelArray_H
villemejane 0:fe962821e6a4 20 #define PixelArray_H
villemejane 0:fe962821e6a4 21
villemejane 0:fe962821e6a4 22 #include "mbed.h"
villemejane 0:fe962821e6a4 23
villemejane 0:fe962821e6a4 24 //!Library for the WS2812 RGB LED with integrated controller
villemejane 0:fe962821e6a4 25 /*!
villemejane 0:fe962821e6a4 26 PixelArray
villemejane 0:fe962821e6a4 27 */
villemejane 0:fe962821e6a4 28 class PixelArray
villemejane 0:fe962821e6a4 29 {
villemejane 0:fe962821e6a4 30 public:
villemejane 0:fe962821e6a4 31 //!Creates an instance of the class.
villemejane 0:fe962821e6a4 32 /*!
villemejane 0:fe962821e6a4 33 Pixel Array
villemejane 0:fe962821e6a4 34 */
villemejane 0:fe962821e6a4 35 PixelArray(int);
villemejane 0:fe962821e6a4 36
villemejane 0:fe962821e6a4 37 /*!
villemejane 0:fe962821e6a4 38 Destroys instance.
villemejane 0:fe962821e6a4 39 */
villemejane 0:fe962821e6a4 40 ~PixelArray();
villemejane 0:fe962821e6a4 41
villemejane 0:fe962821e6a4 42 int* getBuf();
villemejane 0:fe962821e6a4 43
villemejane 0:fe962821e6a4 44 void SetAll(unsigned int);
villemejane 0:fe962821e6a4 45 void SetAllI(unsigned char);
villemejane 0:fe962821e6a4 46 void SetAllR(unsigned char);
villemejane 0:fe962821e6a4 47 void SetAllG(unsigned char);
villemejane 0:fe962821e6a4 48 void SetAllB(unsigned char);
villemejane 0:fe962821e6a4 49
villemejane 0:fe962821e6a4 50 // location, value
villemejane 0:fe962821e6a4 51 void Set(int, unsigned int);
villemejane 0:fe962821e6a4 52 void SetI(int, unsigned char);
villemejane 0:fe962821e6a4 53 void SetR(int, unsigned char);
villemejane 0:fe962821e6a4 54 void SetG(int, unsigned char);
villemejane 0:fe962821e6a4 55 void SetB(int, unsigned char);
villemejane 0:fe962821e6a4 56
villemejane 0:fe962821e6a4 57 private:
villemejane 0:fe962821e6a4 58
villemejane 0:fe962821e6a4 59 int *pbuf;
villemejane 0:fe962821e6a4 60 int pbufsize;
villemejane 0:fe962821e6a4 61
villemejane 0:fe962821e6a4 62 void __set_pixel_component(int index, int channel, int value);
villemejane 0:fe962821e6a4 63 void __set_pixel(int index, int value);
villemejane 0:fe962821e6a4 64
villemejane 0:fe962821e6a4 65 };
villemejane 0:fe962821e6a4 66
villemejane 0:fe962821e6a4 67 #endif
villemejane 0:fe962821e6a4 68