![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
Fix to have load pin working with SPI1.
Fork of Max7221 by
Diff: MAX7221/Max7221.h
- Revision:
- 1:d8589d1f368c
- Child:
- 2:828c62cc1861
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/MAX7221/Max7221.h Tue Aug 06 08:18:53 2013 +0000 @@ -0,0 +1,68 @@ +#ifndef Max7221_H +#define Max7221_H + +// define max7219/max7221 registers +#define max7219_reg_noop 0x00 +#define max7219_reg_digit0 0x01 +#define max7219_reg_digit1 0x02 +#define max7219_reg_digit2 0x03 +#define max7219_reg_digit3 0x04 +#define max7219_reg_digit4 0x05 +#define max7219_reg_digit5 0x06 +#define max7219_reg_digit6 0x07 +#define max7219_reg_digit7 0x08 +#define max7219_reg_decodeMode 0x09 +#define max7219_reg_intensity 0x0a +#define max7219_reg_scanLimit 0x0b +#define max7219_reg_shutdown 0x0c +#define max7219_reg_displayTest 0x0f + +#define LOW 0 +#define HIGH 1 +#define MHZ 1000000 +#define NUMDIGITS 8 + +#ifdef NUMDIGITS +#define UPPERBOUND 99999999 +#define LOWERBOUND -9999999 +#endif + +class Max7221 { +public: + Max7221(PinName msoi=p5, PinName mclk=p7, PinName load=p8); + + void Write( unsigned int reg, unsigned int col); + + void WriteInt( int value ); + void WriteFloat( float value); + Max7221& operator= (int value){ + WriteInt(value); + return *this; + }; + Max7221& operator= (float value){ + WriteFloat(value); + return *this; + }; + + void Setup (void); + + static void WriteAll (unsigned int reg, unsigned int col); + static void SetupAll (void); + +private: + SPI *max72_spi; + DigitalOut *load; + int id; + int *maxInUse; + + + static SPI *spi1; + static SPI *spi2; + static DigitalOut *load1; + static DigitalOut *load2; + static int maxInUseSPI1; + static int maxInUseSPI2; + +}; + +#endif \ No newline at end of file