TLC5940(http://www.ti.com/lit/ds/symlink/tlc5940.pdf)のlibraryです

Committer:
suupen
Date:
Sun Dec 11 00:24:02 2011 +0000
Revision:
0:ead2ebe1dc77

        

Who changed what in which revision?

UserRevisionLine numberNew contents of line
suupen 0:ead2ebe1dc77 1 /* mbed TLC5940 Library
suupen 0:ead2ebe1dc77 2 * Copyright (c) 2011 suupen
suupen 0:ead2ebe1dc77 3 *
suupen 0:ead2ebe1dc77 4 * Permission is hereby granted, free of charge, to any person obtaining a copy
suupen 0:ead2ebe1dc77 5 * of this software and associated documentation files (the "Software"), to deal
suupen 0:ead2ebe1dc77 6 * in the Software without restriction, including without limitation the rights
suupen 0:ead2ebe1dc77 7 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
suupen 0:ead2ebe1dc77 8 * copies of the Software, and to permit persons to whom the Software is
suupen 0:ead2ebe1dc77 9 * furnished to do so, subject to the following conditions:
suupen 0:ead2ebe1dc77 10 *
suupen 0:ead2ebe1dc77 11 * The above copyright notice and this permission notice shall be included in
suupen 0:ead2ebe1dc77 12 * all copies or substantial portions of the Software.
suupen 0:ead2ebe1dc77 13 *
suupen 0:ead2ebe1dc77 14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
suupen 0:ead2ebe1dc77 15 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
suupen 0:ead2ebe1dc77 16 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
suupen 0:ead2ebe1dc77 17 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
suupen 0:ead2ebe1dc77 18 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
suupen 0:ead2ebe1dc77 19 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
suupen 0:ead2ebe1dc77 20 * THE SOFTWARE.
suupen 0:ead2ebe1dc77 21 */
suupen 0:ead2ebe1dc77 22
suupen 0:ead2ebe1dc77 23
suupen 0:ead2ebe1dc77 24 //================================
suupen 0:ead2ebe1dc77 25 // TLC5940.h
suupen 0:ead2ebe1dc77 26 // V1.0 : 2011/xx/xx
suupen 0:ead2ebe1dc77 27 //
suupen 0:ead2ebe1dc77 28 //================================
suupen 0:ead2ebe1dc77 29 #ifndef _TLC5940_H
suupen 0:ead2ebe1dc77 30 #define _TLC5940_H
suupen 0:ead2ebe1dc77 31
suupen 0:ead2ebe1dc77 32 /** TLC5940 class
suupen 0:ead2ebe1dc77 33 *
suupen 0:ead2ebe1dc77 34 * Example:
suupen 0:ead2ebe1dc77 35 * @code
suupen 0:ead2ebe1dc77 36 * comming soon
suupen 0:ead2ebe1dc77 37 * @endcode
suupen 0:ead2ebe1dc77 38 */
suupen 0:ead2ebe1dc77 39
suupen 0:ead2ebe1dc77 40
suupen 0:ead2ebe1dc77 41
suupen 0:ead2ebe1dc77 42 #include "types.h"
suupen 0:ead2ebe1dc77 43
suupen 0:ead2ebe1dc77 44 class TLC5940 {
suupen 0:ead2ebe1dc77 45 public:
suupen 0:ead2ebe1dc77 46
suupen 0:ead2ebe1dc77 47 /** Create a eight dot matrix led array object connected to the specified DigitalOut pin
suupen 0:ead2ebe1dc77 48 * @param mosi,misc,sck = SPI(p5,p6,p7) or SPI(p11,p12,p13)
suupen 0:ead2ebe1dc77 49 * @param digitalOut xlat
suupen 0:ead2ebe1dc77 50 * @param digitalOut blank
suupen 0:ead2ebe1dc77 51 * @param digitalOut vprg
suupen 0:ead2ebe1dc77 52 * @param uint8_t cascade cascade number = 1 - 21
suupen 0:ead2ebe1dc77 53 */
suupen 0:ead2ebe1dc77 54
suupen 0:ead2ebe1dc77 55 TLC5940(PinName mosi, PinName miso, PinName sck, PinName xlat, PinName blank, PinName vprg, uint8_t cascade = 1);
suupen 0:ead2ebe1dc77 56
suupen 0:ead2ebe1dc77 57
suupen 0:ead2ebe1dc77 58 /** Data set to the seven segment LED display
suupen 0:ead2ebe1dc77 59 * @param uint16_t* data : grayData table &data[cascade number][16] data[][] = 11 - 0bit
suupen 0:ead2ebe1dc77 60 */
suupen 0:ead2ebe1dc77 61 void grayDataSetAndDisplay(uint16_t *data);
suupen 0:ead2ebe1dc77 62
suupen 0:ead2ebe1dc77 63 private:
suupen 0:ead2ebe1dc77 64
suupen 0:ead2ebe1dc77 65 SPI _spi;
suupen 0:ead2ebe1dc77 66 DigitalOut _xlat;
suupen 0:ead2ebe1dc77 67 DigitalOut _blank;
suupen 0:ead2ebe1dc77 68 DigitalOut _vprg;
suupen 0:ead2ebe1dc77 69
suupen 0:ead2ebe1dc77 70 #define Z_clockFrequency (30000000) // Data shift clock frequency and Grayscale clock frequency = 30[MHz]
suupen 0:ead2ebe1dc77 71 #define Z_dotCorrection (63) // 5 - 0 bit = (11 1111)b = 63d
suupen 0:ead2ebe1dc77 72 uint8_t D_cascade; // cascade number 1 - 21
suupen 0:ead2ebe1dc77 73 #define Z_cascadeMax (21) //cascade number max (21)
suupen 0:ead2ebe1dc77 74
suupen 0:ead2ebe1dc77 75 void tlc5940DotCorrection(void);
suupen 0:ead2ebe1dc77 76 void tlc5940SpiInitalize(void);
suupen 0:ead2ebe1dc77 77 void tlc5940GrayDataClear(void);
suupen 0:ead2ebe1dc77 78
suupen 0:ead2ebe1dc77 79
suupen 0:ead2ebe1dc77 80 };
suupen 0:ead2ebe1dc77 81
suupen 0:ead2ebe1dc77 82 #endif // _TLC5940_H