ggez

Committer:
bankzamak
Date:
Sat Oct 22 07:08:42 2016 +0000
Revision:
0:b9ff8fc37c0e
RMUMPU9250 FIBO naja

Who changed what in which revision?

UserRevisionLine numberNew contents of line
bankzamak 0:b9ff8fc37c0e 1 #include "mbed.h"
bankzamak 0:b9ff8fc37c0e 2 #include "my8x8RGB.h"
bankzamak 0:b9ff8fc37c0e 3 /**************Define*************************/
bankzamak 0:b9ff8fc37c0e 4 DigitalOut RGB_RST(A2);
bankzamak 0:b9ff8fc37c0e 5 DigitalOut RGB_LAT(A1);
bankzamak 0:b9ff8fc37c0e 6 DigitalOut RGB_SB(A0);
bankzamak 0:b9ff8fc37c0e 7
bankzamak 0:b9ff8fc37c0e 8 /*DigitalIn nn0(D7);
bankzamak 0:b9ff8fc37c0e 9 DigitalIn nn1(D2);
bankzamak 0:b9ff8fc37c0e 10 DigitalIn nn2(D6);*/
bankzamak 0:b9ff8fc37c0e 11 SPI RGB_SPI(PB_15,PB_14,PB_13);
bankzamak 0:b9ff8fc37c0e 12 BusOut RGB_CP(D8,D9,D10,D11,D12,D13,D3,D4);
bankzamak 0:b9ff8fc37c0e 13 uint8_t RGBi= 0,RGBj= 0,RGBk= 0;
bankzamak 0:b9ff8fc37c0e 14 uint8_t RedWB=0,GreenWB=10,BlueWB=10; // percent | R,G,B calibrate change it if some color brighter than other
bankzamak 0:b9ff8fc37c0e 15 uint8_t display[8][8][4]= {0};
bankzamak 0:b9ff8fc37c0e 16 uint8_t ii,jj,kk;
bankzamak 0:b9ff8fc37c0e 17 /*******************************************/
bankzamak 0:b9ff8fc37c0e 18 void color_choose(int oasis[8][8][4])
bankzamak 0:b9ff8fc37c0e 19 {
bankzamak 0:b9ff8fc37c0e 20 for(ii=0; ii<=7; ii++) {
bankzamak 0:b9ff8fc37c0e 21 for(jj=0; jj<=7; jj++) {
bankzamak 0:b9ff8fc37c0e 22 for(kk=0; kk<=7; kk++) {
bankzamak 0:b9ff8fc37c0e 23 display[ii][jj][kk]=oasis[ii][jj][kk];
bankzamak 0:b9ff8fc37c0e 24 }
bankzamak 0:b9ff8fc37c0e 25 }
bankzamak 0:b9ff8fc37c0e 26 }
bankzamak 0:b9ff8fc37c0e 27 }
bankzamak 0:b9ff8fc37c0e 28 void INITRGB(char in[3])
bankzamak 0:b9ff8fc37c0e 29 {
bankzamak 0:b9ff8fc37c0e 30 int wd;
bankzamak 0:b9ff8fc37c0e 31 RGB_RST =0;
bankzamak 0:b9ff8fc37c0e 32 RGB_RST =1;
bankzamak 0:b9ff8fc37c0e 33 RGB_SPI.frequency(20000000);
bankzamak 0:b9ff8fc37c0e 34 RGB_SPI.format(8,1);
bankzamak 0:b9ff8fc37c0e 35 RGB_LAT = 0;
bankzamak 0:b9ff8fc37c0e 36 RGB_SB =0;
bankzamak 0:b9ff8fc37c0e 37 int l=0;
bankzamak 0:b9ff8fc37c0e 38
bankzamak 0:b9ff8fc37c0e 39 for (int i = 0; i<8; i++) { // Whitebalance......**important
bankzamak 0:b9ff8fc37c0e 40 for (int j = 0; j<3; j++) {
bankzamak 0:b9ff8fc37c0e 41 for (int k = 0; k<6; k++) {
bankzamak 0:b9ff8fc37c0e 42 // wd+=((in[j]<<k)&0b00100000)?1:0;
bankzamak 0:b9ff8fc37c0e 43 wd<<1;
bankzamak 0:b9ff8fc37c0e 44 l++;
bankzamak 0:b9ff8fc37c0e 45 if(l>=7) {
bankzamak 0:b9ff8fc37c0e 46 RGB_SPI.write(255);
bankzamak 0:b9ff8fc37c0e 47 l=0;
bankzamak 0:b9ff8fc37c0e 48 }
bankzamak 0:b9ff8fc37c0e 49 }
bankzamak 0:b9ff8fc37c0e 50 //RGB_SPI.write(255);
bankzamak 0:b9ff8fc37c0e 51 }
bankzamak 0:b9ff8fc37c0e 52 }
bankzamak 0:b9ff8fc37c0e 53
bankzamak 0:b9ff8fc37c0e 54 RGB_LAT = 1;
bankzamak 0:b9ff8fc37c0e 55 RGB_LAT = 0;
bankzamak 0:b9ff8fc37c0e 56
bankzamak 0:b9ff8fc37c0e 57 RGB_SPI.format(8,0);
bankzamak 0:b9ff8fc37c0e 58 }
bankzamak 0:b9ff8fc37c0e 59
bankzamak 0:b9ff8fc37c0e 60 void Showscreen()
bankzamak 0:b9ff8fc37c0e 61 {
bankzamak 0:b9ff8fc37c0e 62
bankzamak 0:b9ff8fc37c0e 63 RGB_SB =1;
bankzamak 0:b9ff8fc37c0e 64 for( RGBi=0; RGBi<8; RGBi++) {
bankzamak 0:b9ff8fc37c0e 65 for( RGBk=0; RGBk<8; RGBk++) {
bankzamak 0:b9ff8fc37c0e 66 for( RGBj=0; RGBj<3; RGBj++) {
bankzamak 0:b9ff8fc37c0e 67 RGB_SPI.write(display[RGBi][RGBk][RGBj]);
bankzamak 0:b9ff8fc37c0e 68 }
bankzamak 0:b9ff8fc37c0e 69
bankzamak 0:b9ff8fc37c0e 70 }
bankzamak 0:b9ff8fc37c0e 71 RGB_CP = 0;
bankzamak 0:b9ff8fc37c0e 72 wait_us(15);
bankzamak 0:b9ff8fc37c0e 73 RGB_LAT = 1;
bankzamak 0:b9ff8fc37c0e 74 RGB_LAT = 0;
bankzamak 0:b9ff8fc37c0e 75
bankzamak 0:b9ff8fc37c0e 76 RGB_CP = (0x01<<RGBi);
bankzamak 0:b9ff8fc37c0e 77
bankzamak 0:b9ff8fc37c0e 78 }
bankzamak 0:b9ff8fc37c0e 79 }
bankzamak 0:b9ff8fc37c0e 80 /*
bankzamak 0:b9ff8fc37c0e 81 void screen_color(uint8_t R,uint8_t G,uint8_t B)
bankzamak 0:b9ff8fc37c0e 82 {
bankzamak 0:b9ff8fc37c0e 83
bankzamak 0:b9ff8fc37c0e 84 for(uint8_t Colum=0; Colum<8; Colum++) {
bankzamak 0:b9ff8fc37c0e 85 for(uint8_t Row=0; Row<8; Row++) {
bankzamak 0:b9ff8fc37c0e 86 display[Colum][Row][2]=R*RedWB/100;
bankzamak 0:b9ff8fc37c0e 87 display[Colum][Row][1]=G;
bankzamak 0:b9ff8fc37c0e 88 display[Colum][Row][0]=B*BlueWB/100;
bankzamak 0:b9ff8fc37c0e 89 }
bankzamak 0:b9ff8fc37c0e 90 }
bankzamak 0:b9ff8fc37c0e 91
bankzamak 0:b9ff8fc37c0e 92 }
bankzamak 0:b9ff8fc37c0e 93 void screen_off()
bankzamak 0:b9ff8fc37c0e 94 {
bankzamak 0:b9ff8fc37c0e 95
bankzamak 0:b9ff8fc37c0e 96 for(uint8_t Colum=0; Colum<8; Colum++) {
bankzamak 0:b9ff8fc37c0e 97 for(uint8_t Row=0; Row<8; Row++) {
bankzamak 0:b9ff8fc37c0e 98 display[Colum][Row][2]=0;
bankzamak 0:b9ff8fc37c0e 99 display[Colum][Row][1]=0;
bankzamak 0:b9ff8fc37c0e 100 display[Colum][Row][0]=0;
bankzamak 0:b9ff8fc37c0e 101 }
bankzamak 0:b9ff8fc37c0e 102 }
bankzamak 0:b9ff8fc37c0e 103 Showscreen();
bankzamak 0:b9ff8fc37c0e 104 }
bankzamak 0:b9ff8fc37c0e 105
bankzamak 0:b9ff8fc37c0e 106
bankzamak 0:b9ff8fc37c0e 107 void RGB_led(uint8_t Colum,uint8_t Row,char color,uint8_t brightness)
bankzamak 0:b9ff8fc37c0e 108 {
bankzamak 0:b9ff8fc37c0e 109 uint8_t c;
bankzamak 0:b9ff8fc37c0e 110 switch (color) {
bankzamak 0:b9ff8fc37c0e 111 case 'R':
bankzamak 0:b9ff8fc37c0e 112 c=2;
bankzamak 0:b9ff8fc37c0e 113 break;
bankzamak 0:b9ff8fc37c0e 114 case 'G':
bankzamak 0:b9ff8fc37c0e 115 c=1;
bankzamak 0:b9ff8fc37c0e 116 break;
bankzamak 0:b9ff8fc37c0e 117 case 'B':
bankzamak 0:b9ff8fc37c0e 118 c=0;
bankzamak 0:b9ff8fc37c0e 119 break;
bankzamak 0:b9ff8fc37c0e 120 }
bankzamak 0:b9ff8fc37c0e 121 display[Colum][Row][c]=brightness;
bankzamak 0:b9ff8fc37c0e 122 }
bankzamak 0:b9ff8fc37c0e 123
bankzamak 0:b9ff8fc37c0e 124
bankzamak 0:b9ff8fc37c0e 125 void rgb_point(uint8_t Colum,uint8_t Row,uint8_t R,uint8_t G,uint8_t B)
bankzamak 0:b9ff8fc37c0e 126 {
bankzamak 0:b9ff8fc37c0e 127 display[Colum][Row][2]=R*RedWB/100;
bankzamak 0:b9ff8fc37c0e 128 display[Colum][Row][1]=G;
bankzamak 0:b9ff8fc37c0e 129 display[Colum][Row][0]=B*BlueWB/100;
bankzamak 0:b9ff8fc37c0e 130 }
bankzamak 0:b9ff8fc37c0e 131
bankzamak 0:b9ff8fc37c0e 132 */
bankzamak 0:b9ff8fc37c0e 133
bankzamak 0:b9ff8fc37c0e 134
bankzamak 0:b9ff8fc37c0e 135
bankzamak 0:b9ff8fc37c0e 136
bankzamak 0:b9ff8fc37c0e 137
bankzamak 0:b9ff8fc37c0e 138
bankzamak 0:b9ff8fc37c0e 139
bankzamak 0:b9ff8fc37c0e 140
bankzamak 0:b9ff8fc37c0e 141
bankzamak 0:b9ff8fc37c0e 142
bankzamak 0:b9ff8fc37c0e 143
bankzamak 0:b9ff8fc37c0e 144
bankzamak 0:b9ff8fc37c0e 145
bankzamak 0:b9ff8fc37c0e 146
bankzamak 0:b9ff8fc37c0e 147
bankzamak 0:b9ff8fc37c0e 148
bankzamak 0:b9ff8fc37c0e 149
bankzamak 0:b9ff8fc37c0e 150
bankzamak 0:b9ff8fc37c0e 151
bankzamak 0:b9ff8fc37c0e 152
bankzamak 0:b9ff8fc37c0e 153
bankzamak 0:b9ff8fc37c0e 154
bankzamak 0:b9ff8fc37c0e 155
bankzamak 0:b9ff8fc37c0e 156
bankzamak 0:b9ff8fc37c0e 157
bankzamak 0:b9ff8fc37c0e 158
bankzamak 0:b9ff8fc37c0e 159
bankzamak 0:b9ff8fc37c0e 160
bankzamak 0:b9ff8fc37c0e 161
bankzamak 0:b9ff8fc37c0e 162
bankzamak 0:b9ff8fc37c0e 163
bankzamak 0:b9ff8fc37c0e 164
bankzamak 0:b9ff8fc37c0e 165
bankzamak 0:b9ff8fc37c0e 166
bankzamak 0:b9ff8fc37c0e 167
bankzamak 0:b9ff8fc37c0e 168
bankzamak 0:b9ff8fc37c0e 169
bankzamak 0:b9ff8fc37c0e 170