Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
main.cpp@2:f2700008c9d9, 2014-05-01 (annotated)
- Committer:
- sNICKer1103
- Date:
- Thu May 01 20:58:59 2014 +0000
- Revision:
- 2:f2700008c9d9
- Parent:
- 1:53b8c6b13010
- Child:
- 3:da30c350c339
Refactoring part 1
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| sNICKer1103 | 0:333c9abcd919 | 1 | #include "mbed.h" |
| sNICKer1103 | 2:f2700008c9d9 | 2 | #include "I2CDriver.h" |
| sNICKer1103 | 2:f2700008c9d9 | 3 | #include "SPIDriver.h" |
| sNICKer1103 | 2:f2700008c9d9 | 4 | #include "LedCube.h" |
| sNICKer1103 | 0:333c9abcd919 | 5 | |
| sNICKer1103 | 0:333c9abcd919 | 6 | bool printed = false; |
| sNICKer1103 | 1:53b8c6b13010 | 7 | bool testprinted = false; |
| sNICKer1103 | 0:333c9abcd919 | 8 | char layer = 1; |
| sNICKer1103 | 0:333c9abcd919 | 9 | bool first = true; |
| sNICKer1103 | 0:333c9abcd919 | 10 | int success = 1; |
| sNICKer1103 | 2:f2700008c9d9 | 11 | char databuffer[512]; |
| sNICKer1103 | 2:f2700008c9d9 | 12 | const int spifreq = 10000000; //frequency of SPI interface |
| sNICKer1103 | 2:f2700008c9d9 | 13 | const char address = 0xA0; //address van I2C interface |
| sNICKer1103 | 2:f2700008c9d9 | 14 | LedCube *ledcube = new LedCube(); |
| sNICKer1103 | 0:333c9abcd919 | 15 | |
| sNICKer1103 | 1:53b8c6b13010 | 16 | int counter1 = 0; |
| sNICKer1103 | 1:53b8c6b13010 | 17 | int counter2 = 0; |
| sNICKer1103 | 1:53b8c6b13010 | 18 | int counter3 = 0; |
| sNICKer1103 | 0:333c9abcd919 | 19 | |
| sNICKer1103 | 1:53b8c6b13010 | 20 | char ledexample[8][8][8] = {{{6,0,0,7,7,0,0,7},{7,0,0,0,0,0,0,7},{7,0,0,0,0,0,0,7},{7,0,0,0,0,0,0,7},{7,0,0,0,0,0,0,7},{7,0,0,0,0,0,0,7},{7,0,0,0,0,0,0,7},{7,0,0,7,7,0,0,7}}, |
| sNICKer1103 | 1:53b8c6b13010 | 21 | {{7,0,0,7,7,0,0,7},{7,0,0,0,0,0,0,7},{7,0,0,0,0,0,0,7},{7,0,0,0,0,0,0,7},{7,0,0,0,0,0,0,7},{7,0,0,0,0,0,0,7},{7,0,0,0,0,0,0,7},{7,0,0,7,7,0,0,7}}, |
| sNICKer1103 | 1:53b8c6b13010 | 22 | {{7,0,0,7,7,0,0,7},{7,0,0,0,0,0,0,7},{7,0,0,0,0,0,0,7},{7,0,0,0,0,0,0,7},{7,0,0,0,0,0,0,7},{7,0,0,0,0,0,0,7},{7,0,0,0,0,0,0,7},{7,0,0,7,7,0,0,7}}, |
| sNICKer1103 | 1:53b8c6b13010 | 23 | {{4,0,0,7,7,0,0,7},{7,0,0,0,0,0,0,7},{7,0,0,0,0,0,0,7},{7,0,0,0,0,0,0,7},{7,0,0,0,0,0,0,7},{7,0,0,0,0,0,0,7},{7,0,0,0,0,0,0,7},{7,0,0,7,7,0,0,3}}, |
| sNICKer1103 | 1:53b8c6b13010 | 24 | {{4,0,0,7,7,0,0,7},{7,0,0,0,0,0,0,7},{7,0,0,0,0,0,0,7},{7,0,0,0,0,0,0,7},{7,0,0,0,0,0,0,7},{7,0,0,0,0,0,0,7},{7,0,0,0,0,0,0,7},{7,0,0,7,7,0,0,3}}, |
| sNICKer1103 | 1:53b8c6b13010 | 25 | {{7,0,0,7,7,0,0,7},{7,0,0,0,0,0,0,7},{7,0,0,0,0,0,0,7},{7,0,0,0,0,0,0,7},{7,0,0,0,0,0,0,7},{7,0,0,0,0,0,0,7},{7,0,0,0,0,0,0,7},{7,0,0,7,7,0,0,7}}, |
| sNICKer1103 | 1:53b8c6b13010 | 26 | {{7,0,0,7,7,0,0,7},{7,0,0,0,0,0,0,7},{7,0,0,0,0,0,0,7},{7,0,0,0,0,0,0,7},{7,0,0,0,0,0,0,7},{7,0,0,0,0,0,0,7},{7,0,0,0,0,0,0,7},{7,0,0,7,7,0,0,7}}, |
| sNICKer1103 | 1:53b8c6b13010 | 27 | {{7,0,0,7,7,0,0,7},{7,0,0,0,0,0,0,7},{7,0,0,0,0,0,0,7},{7,0,0,0,0,0,0,7},{7,0,0,0,0,0,0,7},{7,0,0,0,0,0,0,7},{7,0,0,0,0,0,0,7},{7,0,0,7,7,0,0,5}} |
| sNICKer1103 | 1:53b8c6b13010 | 28 | }; |
| sNICKer1103 | 0:333c9abcd919 | 29 | |
| sNICKer1103 | 1:53b8c6b13010 | 30 | char ledbuffer[8][8][8] = {{{6,0,0,7,7,0,0,7},{7,0,0,0,0,0,0,7},{7,0,0,0,0,0,0,7},{7,0,0,0,0,0,0,7},{7,0,0,0,0,0,0,7},{7,0,0,0,0,0,0,7},{7,0,0,0,0,0,0,7},{7,0,0,7,7,0,0,7}}, |
| sNICKer1103 | 1:53b8c6b13010 | 31 | {{7,0,0,7,7,0,0,7},{7,0,0,0,0,0,0,7},{7,0,0,0,0,0,0,7},{7,0,0,0,0,0,0,7},{7,0,0,0,0,0,0,7},{7,0,0,0,0,0,0,7},{7,0,0,0,0,0,0,7},{7,0,0,7,7,0,0,7}}, |
| sNICKer1103 | 1:53b8c6b13010 | 32 | {{7,0,0,7,7,0,0,7},{7,0,0,0,0,0,0,7},{7,0,0,0,0,0,0,7},{7,0,0,0,0,0,0,7},{7,0,0,0,0,0,0,7},{7,0,0,0,0,0,0,7},{7,0,0,0,0,0,0,7},{7,0,0,7,7,0,0,7}}, |
| sNICKer1103 | 1:53b8c6b13010 | 33 | {{4,0,0,7,7,0,0,7},{7,0,0,0,0,0,0,7},{7,0,0,0,0,0,0,7},{7,0,0,0,0,0,0,7},{7,0,0,0,0,0,0,7},{7,0,0,0,0,0,0,7},{7,0,0,0,0,0,0,7},{7,0,0,7,7,0,0,3}}, |
| sNICKer1103 | 1:53b8c6b13010 | 34 | {{4,0,0,7,7,0,0,7},{7,0,0,0,0,0,0,7},{7,0,0,0,0,0,0,7},{7,0,0,0,0,0,0,7},{7,0,0,0,0,0,0,7},{7,0,0,0,0,0,0,7},{7,0,0,0,0,0,0,7},{7,0,0,7,7,0,0,3}}, |
| sNICKer1103 | 1:53b8c6b13010 | 35 | {{7,0,0,7,7,0,0,7},{7,0,0,0,0,0,0,7},{7,0,0,0,0,0,0,7},{7,0,0,0,0,0,0,7},{7,0,0,0,0,0,0,7},{7,0,0,0,0,0,0,7},{7,0,0,0,0,0,0,7},{7,0,0,7,7,0,0,7}}, |
| sNICKer1103 | 1:53b8c6b13010 | 36 | {{7,0,0,7,7,0,0,7},{7,0,0,0,0,0,0,7},{7,0,0,0,0,0,0,7},{7,0,0,0,0,0,0,7},{7,0,0,0,0,0,0,7},{7,0,0,0,0,0,0,7},{7,0,0,0,0,0,0,7},{7,0,0,7,7,0,0,7}}, |
| sNICKer1103 | 1:53b8c6b13010 | 37 | {{7,0,0,7,7,0,0,7},{7,0,0,0,0,0,0,7},{7,0,0,0,0,0,0,7},{7,0,0,0,0,0,0,7},{7,0,0,0,0,0,0,7},{7,0,0,0,0,0,0,7},{7,0,0,0,0,0,0,7},{7,0,0,7,7,0,0,5}} |
| sNICKer1103 | 1:53b8c6b13010 | 38 | }; |
| sNICKer1103 | 0:333c9abcd919 | 39 | |
| sNICKer1103 | 0:333c9abcd919 | 40 | //matrix (8*8*8): top to bottom, eerst r dan g dan b dan laag (per laag, dus 33 chars)(één char:rij voor één kleur) |
| sNICKer1103 | 0:333c9abcd919 | 41 | const char matrix[8][3][8] = {{{18,0,0,0,0,0,0,129},{129,0,0,0,0,0,0,129},{129,0,0,0,0,0,0,16}}, |
| sNICKer1103 | 1:53b8c6b13010 | 42 | {{129,0,0,0,0,0,0,129},{129,0,0,0,0,0,0,129},{129,0,0,0,0,0,0,129}}, |
| sNICKer1103 | 1:53b8c6b13010 | 43 | {{129,0,0,0,0,0,0,129},{129,0,0,0,0,0,0,129},{129,0,0,0,0,0,0,129}}, |
| sNICKer1103 | 1:53b8c6b13010 | 44 | {{129,0,0,0,0,0,0,129},{129,0,0,0,0,0,0,129},{129,0,0,0,0,0,0,129}}, |
| sNICKer1103 | 1:53b8c6b13010 | 45 | {{11,0,0,0,0,0,0,129},{129,0,0,0,0,0,0,129},{129,0,0,0,0,0,0,3}}, |
| sNICKer1103 | 1:53b8c6b13010 | 46 | {{129,0,0,0,0,0,0,129},{129,0,0,0,0,0,0,129},{129,0,0,0,0,0,0,129}}, |
| sNICKer1103 | 1:53b8c6b13010 | 47 | {{129,0,0,0,0,0,0,129},{129,0,0,0,0,0,0,129},{129,0,0,0,0,0,0,129}}, |
| sNICKer1103 | 1:53b8c6b13010 | 48 | {{129,0,0,0,0,0,0,129},{129,0,0,0,0,0,0,129},{19,0,0,0,0,0,0,17}} |
| sNICKer1103 | 1:53b8c6b13010 | 49 | }; |
| sNICKer1103 | 1:53b8c6b13010 | 50 | |
| sNICKer1103 | 1:53b8c6b13010 | 51 | char rmatrix[8][8] = {{3,129,129,129,129,129,129,153}, |
| sNICKer1103 | 1:53b8c6b13010 | 52 | {3,129,129,129,129,129,129,153}, |
| sNICKer1103 | 1:53b8c6b13010 | 53 | {153,129,129,129,129,129,129,153}, |
| sNICKer1103 | 1:53b8c6b13010 | 54 | {153,129,129,129,129,129,129,152}, |
| sNICKer1103 | 1:53b8c6b13010 | 55 | {153,129,129,129,129,129,129,152}, |
| sNICKer1103 | 1:53b8c6b13010 | 56 | {153,129,129,129,129,129,129,153}, |
| sNICKer1103 | 1:53b8c6b13010 | 57 | {153,129,129,129,129,129,129,153}, |
| sNICKer1103 | 1:53b8c6b13010 | 58 | {153,129,129,129,129,129,129,3} |
| sNICKer1103 | 1:53b8c6b13010 | 59 | }; |
| sNICKer1103 | 1:53b8c6b13010 | 60 | |
| sNICKer1103 | 1:53b8c6b13010 | 61 | char gmatrix[8][8] = {{25,129,129,129,129,129,129,153}, |
| sNICKer1103 | 1:53b8c6b13010 | 62 | {153,129,129,129,129,129,129,153}, |
| sNICKer1103 | 1:53b8c6b13010 | 63 | {153,129,129,129,129,129,129,153}, |
| sNICKer1103 | 1:53b8c6b13010 | 64 | {25,129,129,129,129,129,129,153}, |
| sNICKer1103 | 1:53b8c6b13010 | 65 | {25,129,129,129,3,129,129,153}, |
| sNICKer1103 | 1:53b8c6b13010 | 66 | {153,129,129,129,129,129,129,153}, |
| sNICKer1103 | 1:53b8c6b13010 | 67 | {153,129,129,129,129,129,129,153}, |
| sNICKer1103 | 1:53b8c6b13010 | 68 | {2,129,129,129,129,129,129,153} |
| sNICKer1103 | 1:53b8c6b13010 | 69 | }; |
| sNICKer1103 | 0:333c9abcd919 | 70 | |
| sNICKer1103 | 0:333c9abcd919 | 71 | char bmatrix[8][8] = {{153,129,129,129,129,129,129,153}, |
| sNICKer1103 | 1:53b8c6b13010 | 72 | {153,129,129,129,129,129,129,153}, |
| sNICKer1103 | 1:53b8c6b13010 | 73 | {153,129,129,129,129,129,129,153}, |
| sNICKer1103 | 1:53b8c6b13010 | 74 | {153,129,129,129,129,129,129,152}, |
| sNICKer1103 | 1:53b8c6b13010 | 75 | {153,129,129,129,129,129,129,152}, |
| sNICKer1103 | 1:53b8c6b13010 | 76 | {153,129,129,129,129,129,129,153}, |
| sNICKer1103 | 1:53b8c6b13010 | 77 | {153,129,129,129,129,129,129,153}, |
| sNICKer1103 | 1:53b8c6b13010 | 78 | {153,129,129,129,129,129,129,3} |
| sNICKer1103 | 1:53b8c6b13010 | 79 | }; |
| sNICKer1103 | 0:333c9abcd919 | 80 | |
| sNICKer1103 | 2:f2700008c9d9 | 81 | SPIDriver *spidriver = new SPIDriver(p5, NC, p7, p8, p10, spifreq); |
| sNICKer1103 | 2:f2700008c9d9 | 82 | I2CDriver *i2cdriver = new I2CDriver(p28, p27, address); |
| sNICKer1103 | 0:333c9abcd919 | 83 | //DigitalOut blank(p9); |
| sNICKer1103 | 0:333c9abcd919 | 84 | Serial pc(USBTX, USBRX); |
| sNICKer1103 | 0:333c9abcd919 | 85 | |
| sNICKer1103 | 0:333c9abcd919 | 86 | uint8_t reverse_byte(uint8_t byte); |
| sNICKer1103 | 1:53b8c6b13010 | 87 | void initialtest(); |
| sNICKer1103 | 1:53b8c6b13010 | 88 | void sendbuffer(); |
| sNICKer1103 | 1:53b8c6b13010 | 89 | void modifybuffer(); |
| sNICKer1103 | 1:53b8c6b13010 | 90 | void torgbmatrix(const char ledm[8][8][8], char rmat[8][8], char gmat[8][8], char bmat[8][8]); |
| sNICKer1103 | 0:333c9abcd919 | 91 | |
| sNICKer1103 | 0:333c9abcd919 | 92 | int main() |
| sNICKer1103 | 0:333c9abcd919 | 93 | { |
| sNICKer1103 | 1:53b8c6b13010 | 94 | for(int i = 0; i < 400; i++) { |
| sNICKer1103 | 1:53b8c6b13010 | 95 | initialtest(); |
| sNICKer1103 | 1:53b8c6b13010 | 96 | } |
| sNICKer1103 | 0:333c9abcd919 | 97 | |
| sNICKer1103 | 0:333c9abcd919 | 98 | while(true) { |
| sNICKer1103 | 2:f2700008c9d9 | 99 | if (i2cdriver->receive() == I2CDriver::WriteAddressed) { |
| sNICKer1103 | 1:53b8c6b13010 | 100 | pc.printf("Waarde ontvangen!\n\r"); |
| sNICKer1103 | 1:53b8c6b13010 | 101 | modifybuffer(); |
| sNICKer1103 | 1:53b8c6b13010 | 102 | printed = false; |
| sNICKer1103 | 0:333c9abcd919 | 103 | } |
| sNICKer1103 | 1:53b8c6b13010 | 104 | sendbuffer(); |
| sNICKer1103 | 1:53b8c6b13010 | 105 | }//while loop |
| sNICKer1103 | 0:333c9abcd919 | 106 | }//end main |
| sNICKer1103 | 0:333c9abcd919 | 107 | |
| sNICKer1103 | 0:333c9abcd919 | 108 | uint8_t reverse_byte(uint8_t byte) |
| sNICKer1103 | 0:333c9abcd919 | 109 | { |
| sNICKer1103 | 0:333c9abcd919 | 110 | return (__rbit(byte) >> 24) & 0xFF; // reverse a byte in a 32-bit value, and extract the byte |
| sNICKer1103 | 0:333c9abcd919 | 111 | } |
| sNICKer1103 | 0:333c9abcd919 | 112 | |
| sNICKer1103 | 2:f2700008c9d9 | 113 | void initialtest(){ |
| sNICKer1103 | 2:f2700008c9d9 | 114 | for(int i = 0; i < 8; i++) { //eerst laag selecteren, SPI zendt normaalgezien MSB first |
| sNICKer1103 | 2:f2700008c9d9 | 115 | spidriver->write(ledcube->getNextValue()); |
| sNICKer1103 | 2:f2700008c9d9 | 116 | for(int j = 0; j < 24; j++) { |
| sNICKer1103 | 2:f2700008c9d9 | 117 | spidriver->write(ledcube->getNextValue()); //ledwaarden zelf nog altijd apart, omdat ze mogelijk gespiegeld moeten doorgestuurd worden |
| sNICKer1103 | 2:f2700008c9d9 | 118 | } //(LSB first) |
| sNICKer1103 | 2:f2700008c9d9 | 119 | wait(0.00125); //voor 100 Hz |
| sNICKer1103 | 1:53b8c6b13010 | 120 | //blank = 1; |
| sNICKer1103 | 2:f2700008c9d9 | 121 | spidriver->pulseLatch(); |
| sNICKer1103 | 1:53b8c6b13010 | 122 | //blank = 0; |
| sNICKer1103 | 1:53b8c6b13010 | 123 | }//end outer for loop |
| sNICKer1103 | 1:53b8c6b13010 | 124 | // latch = 1; |
| sNICKer1103 | 1:53b8c6b13010 | 125 | } |
| sNICKer1103 | 1:53b8c6b13010 | 126 | |
| sNICKer1103 | 1:53b8c6b13010 | 127 | void sendbuffer() |
| sNICKer1103 | 1:53b8c6b13010 | 128 | { |
| sNICKer1103 | 2:f2700008c9d9 | 129 | for(int i = 0; i < 8; i++) { //eerst laag selecteren, SPI zendt normaalgezien MSB first |
| sNICKer1103 | 2:f2700008c9d9 | 130 | spidriver->write(ledcube->getNextValue()); |
| sNICKer1103 | 2:f2700008c9d9 | 131 | for(int j = 0; j < 24; j++) { |
| sNICKer1103 | 2:f2700008c9d9 | 132 | spidriver->write(ledcube->getNextValue()); //ledwaarden zelf nog altijd apart, omdat ze mogelijk gespiegeld moeten doorgestuurd worden |
| sNICKer1103 | 2:f2700008c9d9 | 133 | } //(LSB first) |
| sNICKer1103 | 2:f2700008c9d9 | 134 | wait(0.00125); |
| sNICKer1103 | 1:53b8c6b13010 | 135 | |
| sNICKer1103 | 1:53b8c6b13010 | 136 | //blank = 1; |
| sNICKer1103 | 2:f2700008c9d9 | 137 | spidriver->pulseLatch(); |
| sNICKer1103 | 1:53b8c6b13010 | 138 | //blank = 0; |
| sNICKer1103 | 1:53b8c6b13010 | 139 | |
| sNICKer1103 | 1:53b8c6b13010 | 140 | }//end outer for loop |
| sNICKer1103 | 1:53b8c6b13010 | 141 | // latch = 1; |
| sNICKer1103 | 1:53b8c6b13010 | 142 | } |
| sNICKer1103 | 1:53b8c6b13010 | 143 | |
| sNICKer1103 | 1:53b8c6b13010 | 144 | void modifybuffer() |
| sNICKer1103 | 1:53b8c6b13010 | 145 | { |
| sNICKer1103 | 2:f2700008c9d9 | 146 | unsigned char ledcolor; |
| sNICKer1103 | 1:53b8c6b13010 | 147 | while(!((counter1 == 8) && (counter2 == 0) && (counter3 == 1))) { |
| sNICKer1103 | 2:f2700008c9d9 | 148 | ledcolor = i2cdriver->read(); |
| sNICKer1103 | 1:53b8c6b13010 | 149 | if (ledcolor == 8) { |
| sNICKer1103 | 1:53b8c6b13010 | 150 | counter1 = 0; |
| sNICKer1103 | 1:53b8c6b13010 | 151 | counter2 = 0; |
| sNICKer1103 | 1:53b8c6b13010 | 152 | counter3 = 0; |
| sNICKer1103 | 1:53b8c6b13010 | 153 | } else { |
| sNICKer1103 | 1:53b8c6b13010 | 154 | if (ledcolor == 9) { |
| sNICKer1103 | 2:f2700008c9d9 | 155 | ledcube->setData(databuffer); |
| sNICKer1103 | 1:53b8c6b13010 | 156 | break; |
| sNICKer1103 | 1:53b8c6b13010 | 157 | } else { |
| sNICKer1103 | 1:53b8c6b13010 | 158 | ledbuffer[counter1][counter2][counter3] = ledcolor; |
| sNICKer1103 | 1:53b8c6b13010 | 159 | |
| sNICKer1103 | 1:53b8c6b13010 | 160 | if (counter3 < 7) { |
| sNICKer1103 | 1:53b8c6b13010 | 161 | counter3++; |
| sNICKer1103 | 1:53b8c6b13010 | 162 | } else { |
| sNICKer1103 | 1:53b8c6b13010 | 163 | if (counter2 < 7) { |
| sNICKer1103 | 1:53b8c6b13010 | 164 | counter2++; |
| sNICKer1103 | 1:53b8c6b13010 | 165 | counter3 = 0; |
| sNICKer1103 | 1:53b8c6b13010 | 166 | } else { |
| sNICKer1103 | 1:53b8c6b13010 | 167 | if (counter1 < 7) { |
| sNICKer1103 | 1:53b8c6b13010 | 168 | counter1++; |
| sNICKer1103 | 1:53b8c6b13010 | 169 | counter2 = 0; |
| sNICKer1103 | 1:53b8c6b13010 | 170 | counter3 = 0; |
| sNICKer1103 | 1:53b8c6b13010 | 171 | } |
| sNICKer1103 | 1:53b8c6b13010 | 172 | } |
| sNICKer1103 | 1:53b8c6b13010 | 173 | } |
| sNICKer1103 | 1:53b8c6b13010 | 174 | } |
| sNICKer1103 | 1:53b8c6b13010 | 175 | } |
| sNICKer1103 | 1:53b8c6b13010 | 176 | } |
| sNICKer1103 | 1:53b8c6b13010 | 177 | } |
| sNICKer1103 | 1:53b8c6b13010 | 178 | |
| sNICKer1103 | 1:53b8c6b13010 | 179 | void torgbmatrix(const char ledm[8][8][8], char rmat[8][8], char gmat[8][8], char bmat[8][8]) |
| sNICKer1103 | 0:333c9abcd919 | 180 | { |
| sNICKer1103 | 0:333c9abcd919 | 181 | for(int i = 0; i < 8; i++) { //ledmatrix (afkomstig van raspberry pi) omzetten naar rgb matrix (voor ledcube) |
| sNICKer1103 | 0:333c9abcd919 | 182 | for(int j = 0; j < 8; j++) { |
| sNICKer1103 | 0:333c9abcd919 | 183 | char weight = 128; |
| sNICKer1103 | 0:333c9abcd919 | 184 | for(int k = 0; k < 8; k++) { //bij de rmatrix, gmatrix en bmatrix op de juiste plaatsen de juiste gewichten optellen indien nodig |
| sNICKer1103 | 0:333c9abcd919 | 185 | char digitbuffer = ledm[i][j][k]; //bv voor rmatrix alleen gewicht bij optellen indien er een 1 op de derde positie is (binair) |
| sNICKer1103 | 1:53b8c6b13010 | 186 | if(k == 0) { //anders gezegd: als het getal in de ledmatrix groter of gelijk aan 4 is. |
| sNICKer1103 | 0:333c9abcd919 | 187 | rmat[i][j] = 0; //initialisatie |
| sNICKer1103 | 0:333c9abcd919 | 188 | gmat[i][j] = 0; |
| sNICKer1103 | 0:333c9abcd919 | 189 | bmat[i][j] = 0; |
| sNICKer1103 | 0:333c9abcd919 | 190 | } |
| sNICKer1103 | 0:333c9abcd919 | 191 | if(digitbuffer >= 4) { |
| sNICKer1103 | 0:333c9abcd919 | 192 | rmat[i][j] += weight; |
| sNICKer1103 | 0:333c9abcd919 | 193 | digitbuffer = digitbuffer - 4; |
| sNICKer1103 | 0:333c9abcd919 | 194 | } |
| sNICKer1103 | 0:333c9abcd919 | 195 | |
| sNICKer1103 | 0:333c9abcd919 | 196 | if(digitbuffer >= 2) { |
| sNICKer1103 | 0:333c9abcd919 | 197 | gmat[i][j] += weight; |
| sNICKer1103 | 0:333c9abcd919 | 198 | digitbuffer = digitbuffer - 2; |
| sNICKer1103 | 0:333c9abcd919 | 199 | } |
| sNICKer1103 | 0:333c9abcd919 | 200 | |
| sNICKer1103 | 0:333c9abcd919 | 201 | if(digitbuffer >= 1) { |
| sNICKer1103 | 0:333c9abcd919 | 202 | bmat[i][j] += weight; |
| sNICKer1103 | 0:333c9abcd919 | 203 | } |
| sNICKer1103 | 0:333c9abcd919 | 204 | |
| sNICKer1103 | 0:333c9abcd919 | 205 | weight = weight >> 1; |
| sNICKer1103 | 0:333c9abcd919 | 206 | } |
| sNICKer1103 | 0:333c9abcd919 | 207 | } |
| sNICKer1103 | 0:333c9abcd919 | 208 | } |
| sNICKer1103 | 0:333c9abcd919 | 209 | } |