kopia lustrzana https://github.com/pimoroni/pimoroni-pico
				
				
				
			
		
			
				
	
	
		
			36 wiersze
		
	
	
		
			1.3 KiB
		
	
	
	
		
			C++
		
	
	
			
		
		
	
	
			36 wiersze
		
	
	
		
			1.3 KiB
		
	
	
	
		
			C++
		
	
	
| #pragma once
 | |
| 
 | |
| #include "../../drivers/is31fl3731/is31fl3731.hpp"
 | |
| 
 | |
| namespace pimoroni {
 | |
|     class BreakoutMatrix11x7 : public IS31FL3731 {
 | |
|       public:
 | |
|         static constexpr uint8_t WIDTH = 11;
 | |
|         static constexpr uint8_t HEIGHT = 7;
 | |
|         static constexpr int8_t DEFAULT_I2C_ADDRESS    = 0x75;
 | |
|         static constexpr int8_t ALTERNATE_I2C_ADDRESS  = 0x77;
 | |
| 
 | |
|         void init();
 | |
| 
 | |
|         BreakoutMatrix11x7() : IS31FL3731(DEFAULT_I2C_ADDRESS)  {};
 | |
|         BreakoutMatrix11x7(uint8_t address) : IS31FL3731(address) {};
 | |
|         BreakoutMatrix11x7(i2c_inst_t *i2c, uint8_t address, uint8_t sda, uint8_t scl) : IS31FL3731(i2c, address, sda, scl) {};
 | |
| 
 | |
|         void set_pixel(uint8_t x, uint8_t y, uint8_t c);
 | |
| 
 | |
|       private:
 | |
|         uint8_t lookup_pixel(uint8_t index);
 | |
| 
 | |
|         // This wonderful lookup table maps the LEDs on Matrix 11x7
 | |
|         const int8_t lookup_table[WIDTH * HEIGHT] = {
 | |
|             6, 22, 38, 54, 70, 86, 14, 30, 46, 62, 78,
 | |
|             5, 21, 37, 53, 69, 85, 13, 29, 45, 61, 77,
 | |
|             4, 20, 36, 52, 68, 84, 12, 28, 44, 60, 76,
 | |
|             3, 19, 35, 51, 67, 83, 11, 27, 43, 59, 75,
 | |
|             2, 18, 34, 50, 66, 82, 10, 26, 42, 58, 74,
 | |
|             1, 17, 33, 49, 65, 81, 9, 25, 41, 57, 73,
 | |
|             0, 16, 32, 48, 64, 80, 8, 24, 40, 56, 72
 | |
|         };
 | |
|     };
 | |
| }
 |