LPC1768 programm for the led matrix.
Dependencies: BufferedSerial DS3231 mbed-rtos mbed
setMatrix.cpp@3:bd1352d4dbb8, 2018-01-17 (annotated)
- Committer:
- JOEV
- Date:
- Wed Jan 17 07:12:35 2018 +0000
- Revision:
- 3:bd1352d4dbb8
- Parent:
- 2:d5472e4a55bf
first release -> not everything has been commented yet but should work
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
JOEV | 3:bd1352d4dbb8 | 1 | #include "initalize.h" //Funktionenprototypen |
JOEV | 3:bd1352d4dbb8 | 2 | #include "alphabet.h" //Header mit allen Buchstaben und Zeichen Variationen |
JOEV | 3:bd1352d4dbb8 | 3 | #include "mbed.h" // |
JOEV | 3:bd1352d4dbb8 | 4 | #include <string> // |
JOEV | 3:bd1352d4dbb8 | 5 | #include "rtos.h" //Verwendet für RtosTimer |
JOEV | 3:bd1352d4dbb8 | 6 | #include <BufferedSerial.h> //MCU besitzt eine Buffer-Limite von 16 bytes. Diese Library erweitert diese Limite |
JOEV | 3:bd1352d4dbb8 | 7 | #include "DS3231.h" //Library für die Echtzeituhr DS3231 |
JOEV | 3:bd1352d4dbb8 | 8 | #include "project.h" //Definitionen |
JOEV | 3:bd1352d4dbb8 | 9 | #include "time_adjustment_dates.h" //Daten für die Winter und Sommerzeit |
JOEV | 3:bd1352d4dbb8 | 10 | |
JOEV | 3:bd1352d4dbb8 | 11 | //============================================================================================ |
JOEV | 3:bd1352d4dbb8 | 12 | //VARIABLEN |
JOEV | 3:bd1352d4dbb8 | 13 | |
JOEV | 2:d5472e4a55bf | 14 | |
JOEV | 3:bd1352d4dbb8 | 15 | struct LED_Matrix |
JOEV | 3:bd1352d4dbb8 | 16 | { |
JOEV | 3:bd1352d4dbb8 | 17 | DigitalOut ds,oe,stcp,shcp,mr; |
JOEV | 3:bd1352d4dbb8 | 18 | LED_Matrix(PinName pin1, PinName pin2, PinName pin3, PinName pin4, PinName pin5) : ds(pin1), oe(pin2), stcp(pin3), shcp(pin4), mr(pin5) {}; |
JOEV | 3:bd1352d4dbb8 | 19 | }; |
JOEV | 3:bd1352d4dbb8 | 20 | //PIN-ASSIGNMENT------------------------------------------------------------------------------ |
JOEV | 3:bd1352d4dbb8 | 21 | DS3231 RTC(p28,p27); //RTC über p28(SDA) und p27(SCL) verbunden |
JOEV | 3:bd1352d4dbb8 | 22 | |
JOEV | 3:bd1352d4dbb8 | 23 | BusOut led(LED1,LED2,LED3,LED4); |
JOEV | 3:bd1352d4dbb8 | 24 | |
JOEV | 3:bd1352d4dbb8 | 25 | LED_Matrix matrix(p5, p6, p7, p8, p9); //LED-Matrix Data, Enable, Storage, Shift, Masterreset |
JOEV | 3:bd1352d4dbb8 | 26 | |
JOEV | 3:bd1352d4dbb8 | 27 | RtosTimer customDuration(CustomTextCycleFinished); //Timer für benutzerdefinierter Text |
JOEV | 3:bd1352d4dbb8 | 28 | RtosTimer TimerTextSwitch(textSwitcher); //Timer für den Wechsel zwischen Zeit und Datum |
JOEV | 3:bd1352d4dbb8 | 29 | |
JOEV | 3:bd1352d4dbb8 | 30 | BufferedSerial bluetooth(p13,p14); //Bluetooth Modul, tx, rx |
JOEV | 2:d5472e4a55bf | 31 | |
JOEV | 3:bd1352d4dbb8 | 32 | //GLOBAL VARIABLE---------------------------------------------------------------------------------- |
JOEV | 3:bd1352d4dbb8 | 33 | //Clock |
JOEV | 3:bd1352d4dbb8 | 34 | int rtc_hour; //Stunden |
JOEV | 3:bd1352d4dbb8 | 35 | int rtc_minute; //Minuten |
JOEV | 3:bd1352d4dbb8 | 36 | int rtc_second; //Sekunden |
JOEV | 3:bd1352d4dbb8 | 37 | int rtc_date; //Datum |
JOEV | 3:bd1352d4dbb8 | 38 | int rtc_dayOfWeek; //Tag der Woche |
JOEV | 3:bd1352d4dbb8 | 39 | int rtc_month; //Monat |
JOEV | 3:bd1352d4dbb8 | 40 | int rtc_year; //Jahr |
JOEV | 3:bd1352d4dbb8 | 41 | // |
JOEV | 3:bd1352d4dbb8 | 42 | //Time Values |
JOEV | 3:bd1352d4dbb8 | 43 | int CustomDuration = TIME_CUSTOM_DEF; |
JOEV | 2:d5472e4a55bf | 44 | |
JOEV | 3:bd1352d4dbb8 | 45 | //bluetooth |
JOEV | 3:bd1352d4dbb8 | 46 | string TextBluetooth (""); |
JOEV | 3:bd1352d4dbb8 | 47 | char ErrorValue = 0; |
JOEV | 3:bd1352d4dbb8 | 48 | |
JOEV | 3:bd1352d4dbb8 | 49 | //matrix |
JOEV | 3:bd1352d4dbb8 | 50 | bool matrix_setScroll = 1; |
JOEV | 3:bd1352d4dbb8 | 51 | char textSwitch = matrixTIME; |
JOEV | 3:bd1352d4dbb8 | 52 | string TextMatrix (""); |
JOEV | 3:bd1352d4dbb8 | 53 | |
JOEV | 3:bd1352d4dbb8 | 54 | int matrixPos = 0; |
JOEV | 3:bd1352d4dbb8 | 55 | int matrix_frames; // Bilder-Counter |
JOEV | 3:bd1352d4dbb8 | 56 | int matrix_moveFrame = 0; // Variable zum Verschieben des Textes |
JOEV | 3:bd1352d4dbb8 | 57 | |
JOEV | 3:bd1352d4dbb8 | 58 | |
JOEV | 3:bd1352d4dbb8 | 59 | //ENUM & STRUCT------------------------------------------------------------------------------- |
JOEV | 3:bd1352d4dbb8 | 60 | |
JOEV | 3:bd1352d4dbb8 | 61 | //============================================================================================ |
JOEV | 2:d5472e4a55bf | 62 | |
JOEV | 3:bd1352d4dbb8 | 63 | //============================================================================================ |
JOEV | 3:bd1352d4dbb8 | 64 | //▄ ▄ ▄▄▄ ▄▄▄▄▄ ▄▄▄▄ ▄▄▄ ▄ ▄ |
JOEV | 3:bd1352d4dbb8 | 65 | //█▀▄ ▄▀█ █ █ █ █ █ █ █ █ |
JOEV | 3:bd1352d4dbb8 | 66 | //█ ▀ █ █▄▄▄█ █ █▄▄▄▀ █ ▀▄▀ |
JOEV | 3:bd1352d4dbb8 | 67 | //█ █ █ █ █ █ ▀▄ █ ▄▀ ▀▄ |
JOEV | 3:bd1352d4dbb8 | 68 | //█ █ █ █ █ █ ▀▄ ▄█▄ █ █ |
JOEV | 3:bd1352d4dbb8 | 69 | //MATRIX======================================================================= |
JOEV | 3:bd1352d4dbb8 | 70 | //Autor: Joel von Rotz |
JOEV | 3:bd1352d4dbb8 | 71 | //Typ: void |
JOEV | 3:bd1352d4dbb8 | 72 | //parameter: int m_length, int m_height, char *matrix_value |
JOEV | 3:bd1352d4dbb8 | 73 | // Matrixlänge Matrixhöhe Array für Textwerte |
JOEV | 3:bd1352d4dbb8 | 74 | //Beschreibung: |
JOEV | 3:bd1352d4dbb8 | 75 | //============================================================================= |
JOEV | 3:bd1352d4dbb8 | 76 | void Matrix(int m_length, int m_height, char *matrix_value) |
JOEV | 2:d5472e4a55bf | 77 | { |
JOEV | 3:bd1352d4dbb8 | 78 | matrix.oe = 1; //Matrix ausschalten, damit keine unerwünschte LEDs leuchten. |
JOEV | 3:bd1352d4dbb8 | 79 | TextMatrix = TextStandard; //Standard-Text zuweisen |
JOEV | 2:d5472e4a55bf | 80 | wait(0.5); |
JOEV | 3:bd1352d4dbb8 | 81 | matrix.oe = 0; //Matrix wieder einschalten |
JOEV | 3:bd1352d4dbb8 | 82 | |
JOEV | 3:bd1352d4dbb8 | 83 | RTC.setI2Cfrequency(400000); |
JOEV | 3:bd1352d4dbb8 | 84 | bluetooth.baud(115200); //Bluetooth Module Communication |
JOEV | 3:bd1352d4dbb8 | 85 | |
JOEV | 3:bd1352d4dbb8 | 86 | TimerTextSwitch.start(TIME_CHANGE); |
JOEV | 3:bd1352d4dbb8 | 87 | |
JOEV | 3:bd1352d4dbb8 | 88 | while(1) |
JOEV | 3:bd1352d4dbb8 | 89 | { |
JOEV | 3:bd1352d4dbb8 | 90 | initVal(); //Variabeln initialisieren |
JOEV | 3:bd1352d4dbb8 | 91 | |
JOEV | 3:bd1352d4dbb8 | 92 | for(int x = 0; x < 512; x++) //matrix_value "leeren" |
JOEV | 3:bd1352d4dbb8 | 93 | matrix_value[x] = 0x00; |
JOEV | 3:bd1352d4dbb8 | 94 | |
JOEV | 3:bd1352d4dbb8 | 95 | |
JOEV | 3:bd1352d4dbb8 | 96 | ReadTimeToString(); //Lese Zeit und konvertiere zu einem String |
JOEV | 3:bd1352d4dbb8 | 97 | |
JOEV | 3:bd1352d4dbb8 | 98 | |
JOEV | 3:bd1352d4dbb8 | 99 | TextMatrixConvert(TextMatrix,matrix_value, m_length); |
JOEV | 3:bd1352d4dbb8 | 100 | |
JOEV | 3:bd1352d4dbb8 | 101 | /*Überprüft ob es sich um Winterzeit oder Sommerzeit handelt*/ |
JOEV | 3:bd1352d4dbb8 | 102 | WinterSummerTime(rtc_year,rtc_month,rtc_date,rtc_hour,rtc_second); |
JOEV | 3:bd1352d4dbb8 | 103 | //----------------------------// |
JOEV | 3:bd1352d4dbb8 | 104 | if((matrix_frames-64) > m_length) |
JOEV | 3:bd1352d4dbb8 | 105 | { |
JOEV | 3:bd1352d4dbb8 | 106 | matrix_setScroll = 1; |
JOEV | 3:bd1352d4dbb8 | 107 | } |
JOEV | 3:bd1352d4dbb8 | 108 | else |
JOEV | 3:bd1352d4dbb8 | 109 | { |
JOEV | 3:bd1352d4dbb8 | 110 | matrix_setScroll = 0; |
JOEV | 3:bd1352d4dbb8 | 111 | } |
JOEV | 3:bd1352d4dbb8 | 112 | if(!matrix_setScroll) |
JOEV | 3:bd1352d4dbb8 | 113 | { |
JOEV | 3:bd1352d4dbb8 | 114 | matrix_moveFrame = 64; |
JOEV | 3:bd1352d4dbb8 | 115 | } |
JOEV | 3:bd1352d4dbb8 | 116 | //----------------------------// |
JOEV | 3:bd1352d4dbb8 | 117 | setMatrix(m_height, m_length, matrix_value); |
JOEV | 3:bd1352d4dbb8 | 118 | //----------------------------// |
JOEV | 3:bd1352d4dbb8 | 119 | if(bluetooth.readable()) |
JOEV | 3:bd1352d4dbb8 | 120 | { |
JOEV | 3:bd1352d4dbb8 | 121 | bluetooth_matrix(m_length,m_height,matrix_value); |
JOEV | 3:bd1352d4dbb8 | 122 | } |
JOEV | 3:bd1352d4dbb8 | 123 | //----------------------------// |
JOEV | 3:bd1352d4dbb8 | 124 | } |
JOEV | 2:d5472e4a55bf | 125 | } |
JOEV | 2:d5472e4a55bf | 126 | |
JOEV | 3:bd1352d4dbb8 | 127 | //TEXTSWITCHER================================================================= |
JOEV | 3:bd1352d4dbb8 | 128 | //Autor: Joel von Rotz |
JOEV | 3:bd1352d4dbb8 | 129 | //Typ: void |
JOEV | 3:bd1352d4dbb8 | 130 | //parameter: void |
JOEV | 3:bd1352d4dbb8 | 131 | //Beschreibung: Wird für das Wechseln des Textes benötigt |
JOEV | 3:bd1352d4dbb8 | 132 | //============================================================================= |
JOEV | 3:bd1352d4dbb8 | 133 | void textSwitcher(void) |
JOEV | 3:bd1352d4dbb8 | 134 | { |
JOEV | 3:bd1352d4dbb8 | 135 | matrixPos = 0; |
JOEV | 3:bd1352d4dbb8 | 136 | matrix_moveFrame = 0; |
JOEV | 3:bd1352d4dbb8 | 137 | textSwitch = !textSwitch; |
JOEV | 3:bd1352d4dbb8 | 138 | } |
JOEV | 3:bd1352d4dbb8 | 139 | |
JOEV | 3:bd1352d4dbb8 | 140 | void CustomTextCycleFinished(void) |
JOEV | 3:bd1352d4dbb8 | 141 | { |
JOEV | 3:bd1352d4dbb8 | 142 | TimerTextSwitch.start(TIME_CHANGE); |
JOEV | 3:bd1352d4dbb8 | 143 | customDuration.stop(); |
JOEV | 3:bd1352d4dbb8 | 144 | textSwitch = matrixTIME; |
JOEV | 3:bd1352d4dbb8 | 145 | TextMatrix = TextStandard; |
JOEV | 3:bd1352d4dbb8 | 146 | |
JOEV | 3:bd1352d4dbb8 | 147 | } |
JOEV | 3:bd1352d4dbb8 | 148 | |
JOEV | 3:bd1352d4dbb8 | 149 | //INITVAL====================================================================== |
JOEV | 3:bd1352d4dbb8 | 150 | //Autor: Joel von Rotz |
JOEV | 3:bd1352d4dbb8 | 151 | //Typ: void |
JOEV | 3:bd1352d4dbb8 | 152 | //parameter: void |
JOEV | 3:bd1352d4dbb8 | 153 | //Beschreibung: Initialisierung der Variabeln und Ein-Ausgängen |
JOEV | 3:bd1352d4dbb8 | 154 | //============================================================================= |
JOEV | 3:bd1352d4dbb8 | 155 | void initVal(void) |
JOEV | 2:d5472e4a55bf | 156 | { |
JOEV | 3:bd1352d4dbb8 | 157 | //Überprüfung, ob Text verschoben werden muss auf dem Display |
JOEV | 3:bd1352d4dbb8 | 158 | |
JOEV | 3:bd1352d4dbb8 | 159 | //===================== |
JOEV | 3:bd1352d4dbb8 | 160 | //Output |
JOEV | 3:bd1352d4dbb8 | 161 | matrix.mr = 1; |
JOEV | 3:bd1352d4dbb8 | 162 | matrix.oe = 1; |
JOEV | 3:bd1352d4dbb8 | 163 | matrix.ds = 0; |
JOEV | 3:bd1352d4dbb8 | 164 | matrix.stcp = 0; |
JOEV | 3:bd1352d4dbb8 | 165 | matrix.shcp = 0; |
JOEV | 3:bd1352d4dbb8 | 166 | //===================== |
JOEV | 3:bd1352d4dbb8 | 167 | //Variabeln |
JOEV | 3:bd1352d4dbb8 | 168 | matrix_frames = 0; |
JOEV | 3:bd1352d4dbb8 | 169 | TextBluetooth = ""; |
JOEV | 3:bd1352d4dbb8 | 170 | reset_srg(); |
JOEV | 3:bd1352d4dbb8 | 171 | } |
JOEV | 3:bd1352d4dbb8 | 172 | |
JOEV | 3:bd1352d4dbb8 | 173 | //MATRIX======================================================================= |
JOEV | 3:bd1352d4dbb8 | 174 | //Autor: Joel von Rotz |
JOEV | 3:bd1352d4dbb8 | 175 | //Typ: void |
JOEV | 3:bd1352d4dbb8 | 176 | //parameter: int m_height, int m_length, char *matrix_value |
JOEV | 3:bd1352d4dbb8 | 177 | //Beschreibung: Lässt Text oder anderes auf einer LED-Matrix anzeigen |
JOEV | 3:bd1352d4dbb8 | 178 | //============================================================================= |
JOEV | 3:bd1352d4dbb8 | 179 | // MATRIX |
JOEV | 3:bd1352d4dbb8 | 180 | //Lässt einen Text auf dem Display anzeigen |
JOEV | 3:bd1352d4dbb8 | 181 | void setMatrix(int m_height,int m_length, char *matrix_value) |
JOEV | 3:bd1352d4dbb8 | 182 | { |
JOEV | 3:bd1352d4dbb8 | 183 | //clock wird als Zählvariable verwendet, darunter als Bitshifter und Multiplexer |
JOEV | 3:bd1352d4dbb8 | 184 | for(int frequency = 0; frequency < 4; frequency++) |
JOEV | 3:bd1352d4dbb8 | 185 | { |
JOEV | 3:bd1352d4dbb8 | 186 | for(int clock = 0; clock < 8; clock++) |
JOEV | 3:bd1352d4dbb8 | 187 | { |
JOEV | 3:bd1352d4dbb8 | 188 | //Der Text muss von hinten nach vorne abgearbeitet werden, darum wird eine Variable |
JOEV | 3:bd1352d4dbb8 | 189 | //names matrixPos verwendet, die die Position des Textes bestimmt. |
JOEV | 3:bd1352d4dbb8 | 190 | if(matrixPos <= 0) |
JOEV | 3:bd1352d4dbb8 | 191 | matrixPos = m_length; //setze matrixPos auf die letzte Position des Textes zurück |
JOEV | 3:bd1352d4dbb8 | 192 | |
JOEV | 3:bd1352d4dbb8 | 193 | |
JOEV | 3:bd1352d4dbb8 | 194 | for(int fill = 0; fill < (m_length/8); fill++) |
JOEV | 3:bd1352d4dbb8 | 195 | { |
JOEV | 3:bd1352d4dbb8 | 196 | for(int column = 8; column > 0; column--) |
JOEV | 3:bd1352d4dbb8 | 197 | { |
JOEV | 3:bd1352d4dbb8 | 198 | matrix.ds = (matrix_value[matrixPos-column+matrix_moveFrame] >> clock) & 1; |
JOEV | 3:bd1352d4dbb8 | 199 | shift_srg(); |
JOEV | 3:bd1352d4dbb8 | 200 | } |
JOEV | 3:bd1352d4dbb8 | 201 | matrixPos -= 8; |
JOEV | 3:bd1352d4dbb8 | 202 | } |
JOEV | 3:bd1352d4dbb8 | 203 | //Multiplexer |
JOEV | 3:bd1352d4dbb8 | 204 | //mit dieser For-Schleife wird der Multiplex-Bit gesetzt |
JOEV | 3:bd1352d4dbb8 | 205 | for(int cell = 0; cell < 8; cell++) |
JOEV | 3:bd1352d4dbb8 | 206 | { |
JOEV | 3:bd1352d4dbb8 | 207 | if(clock == cell) //ist clock gleich cell? |
JOEV | 3:bd1352d4dbb8 | 208 | matrix.ds = 1; //setze Data-Pin auf 1 |
JOEV | 3:bd1352d4dbb8 | 209 | else //Sonst |
JOEV | 3:bd1352d4dbb8 | 210 | matrix.ds = 0; //setze auf 0 |
JOEV | 3:bd1352d4dbb8 | 211 | shift_srg(); //Schiebe Data in die Register hinein |
JOEV | 3:bd1352d4dbb8 | 212 | } |
JOEV | 3:bd1352d4dbb8 | 213 | |
JOEV | 3:bd1352d4dbb8 | 214 | store_srg(); |
JOEV | 3:bd1352d4dbb8 | 215 | matrix.oe = 0; |
JOEV | 3:bd1352d4dbb8 | 216 | wait_us(1000); |
JOEV | 3:bd1352d4dbb8 | 217 | matrix.oe = 1; |
JOEV | 3:bd1352d4dbb8 | 218 | } |
JOEV | 3:bd1352d4dbb8 | 219 | |
JOEV | 3:bd1352d4dbb8 | 220 | } |
JOEV | 3:bd1352d4dbb8 | 221 | //=================================================================== |
JOEV | 3:bd1352d4dbb8 | 222 | if(matrix_setScroll) |
JOEV | 3:bd1352d4dbb8 | 223 | { |
JOEV | 3:bd1352d4dbb8 | 224 | matrix_moveFrame++; |
JOEV | 3:bd1352d4dbb8 | 225 | } |
JOEV | 3:bd1352d4dbb8 | 226 | if(matrix_moveFrame >= matrix_frames) |
JOEV | 3:bd1352d4dbb8 | 227 | { |
JOEV | 3:bd1352d4dbb8 | 228 | matrix_moveFrame = 0; |
JOEV | 3:bd1352d4dbb8 | 229 | } |
JOEV | 3:bd1352d4dbb8 | 230 | //=================================================================== |
JOEV | 2:d5472e4a55bf | 231 | } |
JOEV | 2:d5472e4a55bf | 232 | |
JOEV | 2:d5472e4a55bf | 233 | |
JOEV | 3:bd1352d4dbb8 | 234 | //Schieberegister mit einem Bit befüllen |
JOEV | 2:d5472e4a55bf | 235 | void shift_srg() |
JOEV | 2:d5472e4a55bf | 236 | { |
JOEV | 3:bd1352d4dbb8 | 237 | matrix.shcp = 1; |
JOEV | 3:bd1352d4dbb8 | 238 | matrix.shcp = 0; |
JOEV | 2:d5472e4a55bf | 239 | } |
JOEV | 2:d5472e4a55bf | 240 | |
JOEV | 3:bd1352d4dbb8 | 241 | //Speicher von den Schieberegister herausgeben |
JOEV | 3:bd1352d4dbb8 | 242 | void store_srg() |
JOEV | 3:bd1352d4dbb8 | 243 | { |
JOEV | 3:bd1352d4dbb8 | 244 | matrix.stcp = 1; |
JOEV | 3:bd1352d4dbb8 | 245 | matrix.stcp = 0; |
JOEV | 3:bd1352d4dbb8 | 246 | } |
JOEV | 3:bd1352d4dbb8 | 247 | |
JOEV | 3:bd1352d4dbb8 | 248 | //Schieberegister zurücksetzen |
JOEV | 2:d5472e4a55bf | 249 | void reset_srg() |
JOEV | 2:d5472e4a55bf | 250 | { |
JOEV | 3:bd1352d4dbb8 | 251 | matrix.mr = 0; |
JOEV | 3:bd1352d4dbb8 | 252 | matrix.mr = 1; |
JOEV | 2:d5472e4a55bf | 253 | } |
JOEV | 2:d5472e4a55bf | 254 | |
JOEV | 3:bd1352d4dbb8 | 255 | /*Steuerung für die LED-Matrix*/ |
JOEV | 3:bd1352d4dbb8 | 256 | void bluetooth_matrix(int m_length, int m_height, char *matrix_value) |
JOEV | 2:d5472e4a55bf | 257 | { |
JOEV | 3:bd1352d4dbb8 | 258 | TextBluetooth = ""; |
JOEV | 3:bd1352d4dbb8 | 259 | ErrorValue = NO_ERROR; |
JOEV | 3:bd1352d4dbb8 | 260 | string buff; |
JOEV | 3:bd1352d4dbb8 | 261 | |
JOEV | 3:bd1352d4dbb8 | 262 | while(bluetooth.readable()) |
JOEV | 3:bd1352d4dbb8 | 263 | { |
JOEV | 3:bd1352d4dbb8 | 264 | TextBluetooth += bluetooth.getc(); |
JOEV | 3:bd1352d4dbb8 | 265 | } |
JOEV | 3:bd1352d4dbb8 | 266 | //------------------------------------------ |
JOEV | 3:bd1352d4dbb8 | 267 | //Bluetooth Nachrichten |
JOEV | 3:bd1352d4dbb8 | 268 | if(TextBluetooth.size()==28 && TextBluetooth.find("matrixCONNECT") != string::npos) |
JOEV | 3:bd1352d4dbb8 | 269 | { |
JOEV | 3:bd1352d4dbb8 | 270 | TextMatrix = "Connected!"; |
JOEV | 3:bd1352d4dbb8 | 271 | bluetooth.printf("Hallo! Schreibe etwas..."); |
JOEV | 3:bd1352d4dbb8 | 272 | } |
JOEV | 3:bd1352d4dbb8 | 273 | else if(TextBluetooth.size()==17 && TextBluetooth.find("matrixNEW_PAIRING") != string::npos || |
JOEV | 3:bd1352d4dbb8 | 274 | TextBluetooth.size()==16 && TextBluetooth.find("matrixDISCONNECT") != string::npos ) |
JOEV | 3:bd1352d4dbb8 | 275 | { |
JOEV | 3:bd1352d4dbb8 | 276 | TextBluetooth = ""; |
JOEV | 3:bd1352d4dbb8 | 277 | } |
JOEV | 3:bd1352d4dbb8 | 278 | //------------------------------------------ |
JOEV | 3:bd1352d4dbb8 | 279 | //Zeit einstellen |
JOEV | 3:bd1352d4dbb8 | 280 | else if(TextBluetooth.at(0) == '?') //ist das erste Zeichen ein Befehlszeichen |
JOEV | 3:bd1352d4dbb8 | 281 | { |
JOEV | 3:bd1352d4dbb8 | 282 | TextBluetooth.erase(0,1); |
JOEV | 3:bd1352d4dbb8 | 283 | /*-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-*/ |
JOEV | 3:bd1352d4dbb8 | 284 | if(TextBluetooth.find("ST ")== 0) //Konfiguration Zeit |
JOEV | 3:bd1352d4dbb8 | 285 | { TextBluetooth.erase(0,3); |
JOEV | 3:bd1352d4dbb8 | 286 | if(TextBluetooth.size() == 8) |
JOEV | 3:bd1352d4dbb8 | 287 | { |
JOEV | 3:bd1352d4dbb8 | 288 | |
JOEV | 3:bd1352d4dbb8 | 289 | buff.assign(TextBluetooth,0,2); |
JOEV | 3:bd1352d4dbb8 | 290 | rtc_hour = atoi(buff.c_str()); |
JOEV | 3:bd1352d4dbb8 | 291 | buff.assign(TextBluetooth,3,2); |
JOEV | 3:bd1352d4dbb8 | 292 | rtc_minute = atoi(buff.c_str()); |
JOEV | 3:bd1352d4dbb8 | 293 | buff.assign(TextBluetooth,6,2); |
JOEV | 3:bd1352d4dbb8 | 294 | rtc_second = atoi(buff.c_str()); |
JOEV | 3:bd1352d4dbb8 | 295 | if(rtc_hour <= 23 && rtc_minute <= 59 && rtc_second <= 59) |
JOEV | 3:bd1352d4dbb8 | 296 | { |
JOEV | 3:bd1352d4dbb8 | 297 | RTC.setTime(rtc_hour,rtc_minute,rtc_second); |
JOEV | 3:bd1352d4dbb8 | 298 | } |
JOEV | 3:bd1352d4dbb8 | 299 | else |
JOEV | 3:bd1352d4dbb8 | 300 | { |
JOEV | 3:bd1352d4dbb8 | 301 | ErrorValue = CMD_NOT_IN_RANGE; |
JOEV | 3:bd1352d4dbb8 | 302 | } |
JOEV | 3:bd1352d4dbb8 | 303 | } |
JOEV | 3:bd1352d4dbb8 | 304 | else |
JOEV | 3:bd1352d4dbb8 | 305 | { |
JOEV | 3:bd1352d4dbb8 | 306 | ErrorValue = CMD_NOT_COMPLETE; |
JOEV | 3:bd1352d4dbb8 | 307 | } |
JOEV | 3:bd1352d4dbb8 | 308 | } |
JOEV | 3:bd1352d4dbb8 | 309 | /*-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-*/ |
JOEV | 3:bd1352d4dbb8 | 310 | else if(TextBluetooth.find("SD ")== 0) //Konfiguration Datum |
JOEV | 3:bd1352d4dbb8 | 311 | { TextBluetooth.erase(0,3); |
JOEV | 3:bd1352d4dbb8 | 312 | if(TextBluetooth.size() == 10) |
JOEV | 3:bd1352d4dbb8 | 313 | { |
JOEV | 3:bd1352d4dbb8 | 314 | /*Konvertiere String zu Int*/ |
JOEV | 3:bd1352d4dbb8 | 315 | buff.assign(TextBluetooth,0,2); |
JOEV | 3:bd1352d4dbb8 | 316 | rtc_date = atoi(buff.c_str()); |
JOEV | 3:bd1352d4dbb8 | 317 | buff.assign(TextBluetooth,3,2); |
JOEV | 3:bd1352d4dbb8 | 318 | rtc_month = atoi(buff.c_str()); |
JOEV | 3:bd1352d4dbb8 | 319 | buff.assign(TextBluetooth,6,4); |
JOEV | 3:bd1352d4dbb8 | 320 | rtc_year = atoi(buff.c_str()); |
JOEV | 3:bd1352d4dbb8 | 321 | if(rtc_year <= 2100 && rtc_year >= 1900 && checkDate(rtc_year,rtc_month,rtc_date)) |
JOEV | 3:bd1352d4dbb8 | 322 | { |
JOEV | 3:bd1352d4dbb8 | 323 | RTC.setDate(0,rtc_date,rtc_month,rtc_year); |
JOEV | 3:bd1352d4dbb8 | 324 | } |
JOEV | 3:bd1352d4dbb8 | 325 | else if( ErrorValue == FEB_NO_LEAP) {} |
JOEV | 3:bd1352d4dbb8 | 326 | else |
JOEV | 3:bd1352d4dbb8 | 327 | { |
JOEV | 3:bd1352d4dbb8 | 328 | ErrorValue = CMD_NOT_IN_RANGE; |
JOEV | 3:bd1352d4dbb8 | 329 | } |
JOEV | 3:bd1352d4dbb8 | 330 | } |
JOEV | 3:bd1352d4dbb8 | 331 | else |
JOEV | 3:bd1352d4dbb8 | 332 | { |
JOEV | 3:bd1352d4dbb8 | 333 | ErrorValue = CMD_NOT_COMPLETE; |
JOEV | 3:bd1352d4dbb8 | 334 | } |
JOEV | 3:bd1352d4dbb8 | 335 | } |
JOEV | 3:bd1352d4dbb8 | 336 | /*-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-*/ |
JOEV | 3:bd1352d4dbb8 | 337 | else if(TextBluetooth.find("SW ")== 0) //Konfiguration Winterzeit |
JOEV | 3:bd1352d4dbb8 | 338 | { TextBluetooth.erase(0,3); |
JOEV | 3:bd1352d4dbb8 | 339 | TextBluetooth = "Winterzeit"; |
JOEV | 3:bd1352d4dbb8 | 340 | } |
JOEV | 3:bd1352d4dbb8 | 341 | /*-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-*/ |
JOEV | 3:bd1352d4dbb8 | 342 | else if(TextBluetooth.find("SS ")== 0) //Konfiguration Sommerzeit |
JOEV | 3:bd1352d4dbb8 | 343 | { TextBluetooth.erase(0,3); |
JOEV | 3:bd1352d4dbb8 | 344 | TextBluetooth = "Sommerzeit"; |
JOEV | 3:bd1352d4dbb8 | 345 | } |
JOEV | 3:bd1352d4dbb8 | 346 | /*-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-*/ |
JOEV | 3:bd1352d4dbb8 | 347 | else if(TextBluetooth.find("CD ")== 0) //Konfiguration Benutzerdefinierte Textdauer |
JOEV | 3:bd1352d4dbb8 | 348 | { TextBluetooth.erase(0,3); |
JOEV | 3:bd1352d4dbb8 | 349 | if(TextBluetooth.size() == 3) |
JOEV | 3:bd1352d4dbb8 | 350 | { |
JOEV | 3:bd1352d4dbb8 | 351 | CustomDuration = atoi(TextBluetooth.c_str()); |
JOEV | 3:bd1352d4dbb8 | 352 | if(CustomDuration <= 600 && CustomDuration >= 1){} |
JOEV | 3:bd1352d4dbb8 | 353 | else |
JOEV | 3:bd1352d4dbb8 | 354 | { |
JOEV | 3:bd1352d4dbb8 | 355 | ErrorValue = CMD_NOT_IN_RANGE; |
JOEV | 3:bd1352d4dbb8 | 356 | CustomDuration = TIME_CUSTOM_DEF; |
JOEV | 3:bd1352d4dbb8 | 357 | } |
JOEV | 3:bd1352d4dbb8 | 358 | } |
JOEV | 3:bd1352d4dbb8 | 359 | else |
JOEV | 3:bd1352d4dbb8 | 360 | { |
JOEV | 3:bd1352d4dbb8 | 361 | ErrorValue = CMD_NOT_COMPLETE; |
JOEV | 3:bd1352d4dbb8 | 362 | } |
JOEV | 3:bd1352d4dbb8 | 363 | } |
JOEV | 3:bd1352d4dbb8 | 364 | /*-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-*/ |
JOEV | 3:bd1352d4dbb8 | 365 | else |
JOEV | 3:bd1352d4dbb8 | 366 | { |
JOEV | 3:bd1352d4dbb8 | 367 | ErrorValue = INVALID_CMD; |
JOEV | 3:bd1352d4dbb8 | 368 | } |
JOEV | 3:bd1352d4dbb8 | 369 | BLE_ErrorHandler(ErrorValue); |
JOEV | 3:bd1352d4dbb8 | 370 | } |
JOEV | 3:bd1352d4dbb8 | 371 | //----------------------------------------------------- |
JOEV | 3:bd1352d4dbb8 | 372 | //Benutzerdefinierter Text |
JOEV | 3:bd1352d4dbb8 | 373 | else |
JOEV | 3:bd1352d4dbb8 | 374 | { |
JOEV | 3:bd1352d4dbb8 | 375 | TextMatrix = TextBluetooth; |
JOEV | 3:bd1352d4dbb8 | 376 | textSwitch = matrixCUSTOM; |
JOEV | 3:bd1352d4dbb8 | 377 | TimerTextSwitch.stop(); //Stoppe den Timer für den Zeit-Datum-Wechsel |
JOEV | 3:bd1352d4dbb8 | 378 | customDuration.start(CustomDuration*1000); //2 Minuten eigener Text |
JOEV | 3:bd1352d4dbb8 | 379 | } |
JOEV | 2:d5472e4a55bf | 380 | } |
JOEV | 2:d5472e4a55bf | 381 | |
JOEV | 3:bd1352d4dbb8 | 382 | void BLE_ErrorHandler(char value) |
JOEV | 3:bd1352d4dbb8 | 383 | { |
JOEV | 3:bd1352d4dbb8 | 384 | switch(value) |
JOEV | 3:bd1352d4dbb8 | 385 | { |
JOEV | 3:bd1352d4dbb8 | 386 | case NO_ERROR: |
JOEV | 3:bd1352d4dbb8 | 387 | TimerTextSwitch.start(TIME_CHANGE); |
JOEV | 3:bd1352d4dbb8 | 388 | customDuration.stop(); |
JOEV | 3:bd1352d4dbb8 | 389 | textSwitch = matrixTIME; |
JOEV | 3:bd1352d4dbb8 | 390 | break; |
JOEV | 3:bd1352d4dbb8 | 391 | case INVALID_CMD: |
JOEV | 3:bd1352d4dbb8 | 392 | TextMatrix = "ERROR: Invalid Command"; |
JOEV | 3:bd1352d4dbb8 | 393 | break; |
JOEV | 3:bd1352d4dbb8 | 394 | case CMD_NOT_COMPLETE: |
JOEV | 3:bd1352d4dbb8 | 395 | TextMatrix = "ERROR: Missing Command Parameters"; |
JOEV | 3:bd1352d4dbb8 | 396 | break; |
JOEV | 3:bd1352d4dbb8 | 397 | case CMD_NOT_IN_RANGE: |
JOEV | 3:bd1352d4dbb8 | 398 | TextMatrix = "ERROR: Values Not In Range"; |
JOEV | 3:bd1352d4dbb8 | 399 | break; |
JOEV | 3:bd1352d4dbb8 | 400 | case FEB_NO_LEAP: |
JOEV | 3:bd1352d4dbb8 | 401 | TextMatrix = "ERROR: February-Date Too Big (Not a Leapyear)"; |
JOEV | 3:bd1352d4dbb8 | 402 | break; |
JOEV | 3:bd1352d4dbb8 | 403 | } |
JOEV | 3:bd1352d4dbb8 | 404 | if(value != NO_ERROR) |
JOEV | 3:bd1352d4dbb8 | 405 | { |
JOEV | 3:bd1352d4dbb8 | 406 | textSwitch = matrixCUSTOM; |
JOEV | 3:bd1352d4dbb8 | 407 | TimerTextSwitch.stop(); //Stoppe den Timer für den Zeit-Datum-Wechsel |
JOEV | 3:bd1352d4dbb8 | 408 | customDuration.start(10000); //2 Minuten eigener Text |
JOEV | 3:bd1352d4dbb8 | 409 | } |
JOEV | 3:bd1352d4dbb8 | 410 | } |
JOEV | 3:bd1352d4dbb8 | 411 | |
JOEV | 3:bd1352d4dbb8 | 412 | void WinterSummerTime(int yearVal,int monthVal,int dateVal,int hourVal,int secondVal) |
JOEV | 3:bd1352d4dbb8 | 413 | { |
JOEV | 3:bd1352d4dbb8 | 414 | /*timeLock wird als Wiederholungsstop verwendet. Da bei der Winterzeit eine Stunden * |
JOEV | 3:bd1352d4dbb8 | 415 | *zurückgestellt wird, wird die Zeit immer wieder um eine Stunde zurückgestellt. */ |
JOEV | 3:bd1352d4dbb8 | 416 | static bool timeLock = 0; |
JOEV | 3:bd1352d4dbb8 | 417 | |
JOEV | 3:bd1352d4dbb8 | 418 | //Summertime |
JOEV | 3:bd1352d4dbb8 | 419 | if( dateVal == summerdates[(yearVal % 2000)][0] && |
JOEV | 3:bd1352d4dbb8 | 420 | monthVal == summerdates[(yearVal % 2000)][1] && |
JOEV | 3:bd1352d4dbb8 | 421 | (yearVal % 2000)== summerdates[(yearVal % 2000)][2] && |
JOEV | 3:bd1352d4dbb8 | 422 | hourVal == summerdates[(yearVal % 2000)][3] && |
JOEV | 3:bd1352d4dbb8 | 423 | secondVal== summerdates[(yearVal % 2000)][4] && |
JOEV | 3:bd1352d4dbb8 | 424 | timeLock == 1) |
JOEV | 3:bd1352d4dbb8 | 425 | { |
JOEV | 3:bd1352d4dbb8 | 426 | timeLock = 0; |
JOEV | 3:bd1352d4dbb8 | 427 | hourVal += 1; |
JOEV | 3:bd1352d4dbb8 | 428 | RTC.setTime(hourVal,rtc_minute,rtc_second); |
JOEV | 3:bd1352d4dbb8 | 429 | } |
JOEV | 3:bd1352d4dbb8 | 430 | //WINTERTIME |
JOEV | 3:bd1352d4dbb8 | 431 | if( dateVal == winterdates[(yearVal % 2000)][0] && |
JOEV | 3:bd1352d4dbb8 | 432 | monthVal == winterdates[(yearVal % 2000)][1] && |
JOEV | 3:bd1352d4dbb8 | 433 | (yearVal % 2000)== winterdates[(yearVal % 2000)][2] && |
JOEV | 3:bd1352d4dbb8 | 434 | hourVal == winterdates[(yearVal % 2000)][3] && |
JOEV | 3:bd1352d4dbb8 | 435 | secondVal== winterdates[(yearVal % 2000)][4] && |
JOEV | 3:bd1352d4dbb8 | 436 | timeLock == 0) |
JOEV | 3:bd1352d4dbb8 | 437 | { |
JOEV | 3:bd1352d4dbb8 | 438 | timeLock = 1; |
JOEV | 3:bd1352d4dbb8 | 439 | hourVal -= 1; |
JOEV | 3:bd1352d4dbb8 | 440 | RTC.setTime(hourVal,rtc_minute,rtc_second); |
JOEV | 3:bd1352d4dbb8 | 441 | } |
JOEV | 3:bd1352d4dbb8 | 442 | } |
JOEV | 3:bd1352d4dbb8 | 443 | |
JOEV | 3:bd1352d4dbb8 | 444 | //============================================================================= |
JOEV | 3:bd1352d4dbb8 | 445 | |
JOEV | 2:d5472e4a55bf | 446 | |
JOEV | 3:bd1352d4dbb8 | 447 | //TimeStringConvert============================================================ |
JOEV | 3:bd1352d4dbb8 | 448 | //Autor: Joel von Rotz |
JOEV | 3:bd1352d4dbb8 | 449 | //Typ: void |
JOEV | 3:bd1352d4dbb8 | 450 | //parameter: void |
JOEV | 3:bd1352d4dbb8 | 451 | //Beschreibung: |
JOEV | 3:bd1352d4dbb8 | 452 | // Das Datum und die Uhrzeit wird am Terminal angezeigt. |
JOEV | 3:bd1352d4dbb8 | 453 | //============================================================================= |
JOEV | 3:bd1352d4dbb8 | 454 | void ReadTimeToString(void) |
JOEV | 2:d5472e4a55bf | 455 | { |
JOEV | 3:bd1352d4dbb8 | 456 | RTC.readDateTime(&rtc_dayOfWeek,&rtc_date,&rtc_month,&rtc_year,&rtc_hour,&rtc_minute,&rtc_second); |
JOEV | 3:bd1352d4dbb8 | 457 | char buff[100]; |
JOEV | 3:bd1352d4dbb8 | 458 | if(textSwitch == matrixTIME) |
JOEV | 3:bd1352d4dbb8 | 459 | { |
JOEV | 3:bd1352d4dbb8 | 460 | sprintf(buff," %02i:%02i:%02i",rtc_hour,rtc_minute,rtc_second); |
JOEV | 3:bd1352d4dbb8 | 461 | |
JOEV | 3:bd1352d4dbb8 | 462 | } |
JOEV | 3:bd1352d4dbb8 | 463 | else if(textSwitch == matrixDATE) |
JOEV | 3:bd1352d4dbb8 | 464 | { |
JOEV | 3:bd1352d4dbb8 | 465 | sprintf(buff," %02i.%02i.%04i",rtc_date,rtc_month,rtc_year); |
JOEV | 3:bd1352d4dbb8 | 466 | } |
JOEV | 3:bd1352d4dbb8 | 467 | if(textSwitch != matrixCUSTOM) |
JOEV | 2:d5472e4a55bf | 468 | { |
JOEV | 3:bd1352d4dbb8 | 469 | TextMatrix = buff; |
JOEV | 3:bd1352d4dbb8 | 470 | } |
JOEV | 2:d5472e4a55bf | 471 | } |
JOEV | 3:bd1352d4dbb8 | 472 | //============================================================================= |
JOEV | 3:bd1352d4dbb8 | 473 | |
JOEV | 3:bd1352d4dbb8 | 474 | //SETDATEMAX=================================================================== |
JOEV | 3:bd1352d4dbb8 | 475 | //Autor: Joel von Rotz |
JOEV | 3:bd1352d4dbb8 | 476 | //Typ: char |
JOEV | 3:bd1352d4dbb8 | 477 | //parameter: int monthVal (Monat wird übergeben) |
JOEV | 3:bd1352d4dbb8 | 478 | //Beschreibung: |
JOEV | 3:bd1352d4dbb8 | 479 | // Es wird anhand dem Monat die dazugehörigen maximalen Tagen zurück- |
JOEV | 3:bd1352d4dbb8 | 480 | // gegeben. |
JOEV | 3:bd1352d4dbb8 | 481 | //============================================================================= |
JOEV | 3:bd1352d4dbb8 | 482 | bool checkDate(int yearVal, int monthVal, int dateVal) |
JOEV | 3:bd1352d4dbb8 | 483 | { |
JOEV | 3:bd1352d4dbb8 | 484 | const char month_limit[12]={31,28,31,30,31,30,31,31,30,31,30,31}; |
JOEV | 3:bd1352d4dbb8 | 485 | if(monthVal == februar && checkLeapyear(yearVal)) |
JOEV | 3:bd1352d4dbb8 | 486 | { return true; } |
JOEV | 3:bd1352d4dbb8 | 487 | else if(dateVal > 28 && monthVal == februar) |
JOEV | 3:bd1352d4dbb8 | 488 | { |
JOEV | 3:bd1352d4dbb8 | 489 | ErrorValue = FEB_NO_LEAP; |
JOEV | 3:bd1352d4dbb8 | 490 | return false; |
JOEV | 3:bd1352d4dbb8 | 491 | } |
JOEV | 3:bd1352d4dbb8 | 492 | if(dateVal <= month_limit[monthVal-1] && dateVal >= 1) |
JOEV | 3:bd1352d4dbb8 | 493 | { return true; } |
JOEV | 3:bd1352d4dbb8 | 494 | else |
JOEV | 3:bd1352d4dbb8 | 495 | { return false; } |
JOEV | 3:bd1352d4dbb8 | 496 | } |
JOEV | 3:bd1352d4dbb8 | 497 | //============================================================================= |
JOEV | 2:d5472e4a55bf | 498 | |
JOEV | 2:d5472e4a55bf | 499 | |
JOEV | 3:bd1352d4dbb8 | 500 | //CHECKLEAPYEAR================================================================ |
JOEV | 3:bd1352d4dbb8 | 501 | //Autor: Joel von Rotz |
JOEV | 3:bd1352d4dbb8 | 502 | //Typ: bool |
JOEV | 3:bd1352d4dbb8 | 503 | //parameter: int yearVal |
JOEV | 3:bd1352d4dbb8 | 504 | //Beschreibung: |
JOEV | 3:bd1352d4dbb8 | 505 | // Es wird überprüft, ob das Jahr ein Schaltjahr ist oder nicht. |
JOEV | 3:bd1352d4dbb8 | 506 | // Dabei ist das Jahr NUR ein Schaltjahr, wenn das Jahr durch 4 oder durch 400 |
JOEV | 3:bd1352d4dbb8 | 507 | // teilbar, aber sobald es durch 100 teilbar ist, ist es kein Schaltjahr. |
JOEV | 3:bd1352d4dbb8 | 508 | // Source -> Gregorianischer Kalender |
JOEV | 3:bd1352d4dbb8 | 509 | //============================================================================= |
JOEV | 3:bd1352d4dbb8 | 510 | #define ISLEAPYEAR 1 |
JOEV | 3:bd1352d4dbb8 | 511 | #define ISNOTLEAPYEAR 0 |
JOEV | 3:bd1352d4dbb8 | 512 | bool checkLeapyear(int yearVal) |
JOEV | 2:d5472e4a55bf | 513 | { |
JOEV | 3:bd1352d4dbb8 | 514 | if(yearVal % 4 == 0) |
JOEV | 3:bd1352d4dbb8 | 515 | { |
JOEV | 3:bd1352d4dbb8 | 516 | if(yearVal % 100 == 0) |
JOEV | 3:bd1352d4dbb8 | 517 | { |
JOEV | 3:bd1352d4dbb8 | 518 | if(yearVal % 400 == 0) |
JOEV | 3:bd1352d4dbb8 | 519 | { |
JOEV | 3:bd1352d4dbb8 | 520 | return ISLEAPYEAR; //ist Schaltjahr |
JOEV | 3:bd1352d4dbb8 | 521 | } |
JOEV | 3:bd1352d4dbb8 | 522 | return ISNOTLEAPYEAR; //ist nicht Schaltjahr |
JOEV | 3:bd1352d4dbb8 | 523 | } |
JOEV | 3:bd1352d4dbb8 | 524 | return ISLEAPYEAR; //ist Schaltjahr |
JOEV | 3:bd1352d4dbb8 | 525 | } |
JOEV | 3:bd1352d4dbb8 | 526 | return ISNOTLEAPYEAR; //ist nicht Schaltjahr |
JOEV | 3:bd1352d4dbb8 | 527 | } |
JOEV | 3:bd1352d4dbb8 | 528 | //============================================================================= |
JOEV | 3:bd1352d4dbb8 | 529 | |
JOEV | 3:bd1352d4dbb8 | 530 | void initArray(int const *letter, int size, char *matrix_value) |
JOEV | 3:bd1352d4dbb8 | 531 | { |
JOEV | 3:bd1352d4dbb8 | 532 | matrix_frames = matrix_frames + 1; /*A small space, about 1 led column, is being added. */ |
JOEV | 2:d5472e4a55bf | 533 | |
JOEV | 2:d5472e4a55bf | 534 | for(int position = 0; position < size; position++) |
JOEV | 2:d5472e4a55bf | 535 | { |
JOEV | 3:bd1352d4dbb8 | 536 | /* Hex-values are added to the matrix-text and matrix_frames is incremented */ |
JOEV | 3:bd1352d4dbb8 | 537 | matrix_value[matrix_frames] = letter[position]; |
JOEV | 3:bd1352d4dbb8 | 538 | matrix_frames++; |
JOEV | 2:d5472e4a55bf | 539 | } |
JOEV | 3:bd1352d4dbb8 | 540 | matrix_value[matrix_frames] = 0x00; |
JOEV | 2:d5472e4a55bf | 541 | } |
JOEV | 2:d5472e4a55bf | 542 | |
JOEV | 3:bd1352d4dbb8 | 543 | //=============================================================================// |
JOEV | 3:bd1352d4dbb8 | 544 | //=============================================================================// |
JOEV | 3:bd1352d4dbb8 | 545 | void TextMatrixConvert(const string& text_convertion, char *matrix_value, int m_length) |
JOEV | 2:d5472e4a55bf | 546 | { |
JOEV | 3:bd1352d4dbb8 | 547 | matrix_frames = matrix_frames + 64; |
JOEV | 3:bd1352d4dbb8 | 548 | for(int LetterPos = 0; LetterPos < text_convertion.size(); LetterPos++) |
JOEV | 2:d5472e4a55bf | 549 | { |
JOEV | 2:d5472e4a55bf | 550 | //Letters ------------------------ |
JOEV | 3:bd1352d4dbb8 | 551 | if (text_convertion.at(LetterPos) == 'A') |
JOEV | 2:d5472e4a55bf | 552 | { |
JOEV | 3:bd1352d4dbb8 | 553 | initArray(A,4,matrix_value); |
JOEV | 2:d5472e4a55bf | 554 | } |
JOEV | 3:bd1352d4dbb8 | 555 | else if(text_convertion.at(LetterPos) == 'a') |
JOEV | 2:d5472e4a55bf | 556 | { |
JOEV | 3:bd1352d4dbb8 | 557 | initArray(a,4,matrix_value); |
JOEV | 2:d5472e4a55bf | 558 | } |
JOEV | 3:bd1352d4dbb8 | 559 | else if(text_convertion.at(LetterPos) == 'B') |
JOEV | 2:d5472e4a55bf | 560 | { |
JOEV | 3:bd1352d4dbb8 | 561 | initArray(B,4,matrix_value); |
JOEV | 2:d5472e4a55bf | 562 | } |
JOEV | 3:bd1352d4dbb8 | 563 | else if(text_convertion.at(LetterPos) == 'b') |
JOEV | 2:d5472e4a55bf | 564 | { |
JOEV | 3:bd1352d4dbb8 | 565 | initArray(b,4,matrix_value); |
JOEV | 2:d5472e4a55bf | 566 | } |
JOEV | 3:bd1352d4dbb8 | 567 | else if(text_convertion.at(LetterPos) == 'C') |
JOEV | 2:d5472e4a55bf | 568 | { |
JOEV | 3:bd1352d4dbb8 | 569 | initArray(C,4,matrix_value); |
JOEV | 2:d5472e4a55bf | 570 | } |
JOEV | 3:bd1352d4dbb8 | 571 | else if(text_convertion.at(LetterPos) == 'c') |
JOEV | 2:d5472e4a55bf | 572 | { |
JOEV | 3:bd1352d4dbb8 | 573 | initArray(c,4,matrix_value); |
JOEV | 2:d5472e4a55bf | 574 | } |
JOEV | 3:bd1352d4dbb8 | 575 | else if(text_convertion.at(LetterPos) == 'D') |
JOEV | 2:d5472e4a55bf | 576 | { |
JOEV | 3:bd1352d4dbb8 | 577 | initArray(D,4,matrix_value); |
JOEV | 2:d5472e4a55bf | 578 | } |
JOEV | 3:bd1352d4dbb8 | 579 | else if(text_convertion.at(LetterPos) == 'd') |
JOEV | 2:d5472e4a55bf | 580 | { |
JOEV | 3:bd1352d4dbb8 | 581 | initArray(d,5,matrix_value); |
JOEV | 2:d5472e4a55bf | 582 | } |
JOEV | 3:bd1352d4dbb8 | 583 | else if(text_convertion.at(LetterPos) == 'E') |
JOEV | 2:d5472e4a55bf | 584 | { |
JOEV | 3:bd1352d4dbb8 | 585 | initArray(E,4,matrix_value); |
JOEV | 2:d5472e4a55bf | 586 | } |
JOEV | 3:bd1352d4dbb8 | 587 | else if(text_convertion.at(LetterPos) == 'e') |
JOEV | 2:d5472e4a55bf | 588 | { |
JOEV | 3:bd1352d4dbb8 | 589 | initArray(e,4,matrix_value); |
JOEV | 2:d5472e4a55bf | 590 | } |
JOEV | 3:bd1352d4dbb8 | 591 | else if(text_convertion.at(LetterPos) == 'F') |
JOEV | 2:d5472e4a55bf | 592 | { |
JOEV | 3:bd1352d4dbb8 | 593 | initArray(F,4,matrix_value); |
JOEV | 2:d5472e4a55bf | 594 | } |
JOEV | 3:bd1352d4dbb8 | 595 | else if(text_convertion.at(LetterPos) == 'f') |
JOEV | 2:d5472e4a55bf | 596 | { |
JOEV | 3:bd1352d4dbb8 | 597 | initArray(f,3,matrix_value); |
JOEV | 2:d5472e4a55bf | 598 | } |
JOEV | 3:bd1352d4dbb8 | 599 | else if(text_convertion.at(LetterPos) == 'G') |
JOEV | 2:d5472e4a55bf | 600 | { |
JOEV | 3:bd1352d4dbb8 | 601 | initArray(G,4,matrix_value); |
JOEV | 2:d5472e4a55bf | 602 | } |
JOEV | 3:bd1352d4dbb8 | 603 | else if(text_convertion.at(LetterPos) == 'g') |
JOEV | 2:d5472e4a55bf | 604 | { |
JOEV | 3:bd1352d4dbb8 | 605 | initArray(g,4,matrix_value); |
JOEV | 2:d5472e4a55bf | 606 | } |
JOEV | 3:bd1352d4dbb8 | 607 | else if(text_convertion.at(LetterPos) == 'H') |
JOEV | 2:d5472e4a55bf | 608 | { |
JOEV | 3:bd1352d4dbb8 | 609 | initArray(H,4,matrix_value); |
JOEV | 2:d5472e4a55bf | 610 | } |
JOEV | 3:bd1352d4dbb8 | 611 | else if(text_convertion.at(LetterPos) == 'h') |
JOEV | 2:d5472e4a55bf | 612 | { |
JOEV | 3:bd1352d4dbb8 | 613 | initArray(h,5,matrix_value); |
JOEV | 2:d5472e4a55bf | 614 | } |
JOEV | 3:bd1352d4dbb8 | 615 | else if(text_convertion.at(LetterPos) == 'I') |
JOEV | 2:d5472e4a55bf | 616 | { |
JOEV | 3:bd1352d4dbb8 | 617 | initArray(I,3,matrix_value); |
JOEV | 2:d5472e4a55bf | 618 | } |
JOEV | 3:bd1352d4dbb8 | 619 | else if(text_convertion.at(LetterPos) == 'i') |
JOEV | 2:d5472e4a55bf | 620 | { |
JOEV | 3:bd1352d4dbb8 | 621 | initArray(i,3,matrix_value); |
JOEV | 2:d5472e4a55bf | 622 | } |
JOEV | 3:bd1352d4dbb8 | 623 | else if(text_convertion.at(LetterPos) == 'J') |
JOEV | 2:d5472e4a55bf | 624 | { |
JOEV | 3:bd1352d4dbb8 | 625 | initArray(J,4,matrix_value); |
JOEV | 2:d5472e4a55bf | 626 | } |
JOEV | 3:bd1352d4dbb8 | 627 | else if(text_convertion.at(LetterPos) == 'j') |
JOEV | 2:d5472e4a55bf | 628 | { |
JOEV | 3:bd1352d4dbb8 | 629 | initArray(j,3,matrix_value); |
JOEV | 2:d5472e4a55bf | 630 | } |
JOEV | 3:bd1352d4dbb8 | 631 | else if(text_convertion.at(LetterPos) == 'K') |
JOEV | 2:d5472e4a55bf | 632 | { |
JOEV | 3:bd1352d4dbb8 | 633 | initArray(K,5,matrix_value); |
JOEV | 2:d5472e4a55bf | 634 | } |
JOEV | 3:bd1352d4dbb8 | 635 | else if(text_convertion.at(LetterPos) == 'k') |
JOEV | 2:d5472e4a55bf | 636 | { |
JOEV | 3:bd1352d4dbb8 | 637 | initArray(k,4,matrix_value); |
JOEV | 2:d5472e4a55bf | 638 | } |
JOEV | 3:bd1352d4dbb8 | 639 | else if(text_convertion.at(LetterPos) == 'L') |
JOEV | 2:d5472e4a55bf | 640 | { |
JOEV | 3:bd1352d4dbb8 | 641 | initArray(L,4,matrix_value); |
JOEV | 2:d5472e4a55bf | 642 | } |
JOEV | 3:bd1352d4dbb8 | 643 | else if(text_convertion.at(LetterPos) == 'l') |
JOEV | 2:d5472e4a55bf | 644 | { |
JOEV | 3:bd1352d4dbb8 | 645 | initArray(l,3,matrix_value); |
JOEV | 2:d5472e4a55bf | 646 | } |
JOEV | 3:bd1352d4dbb8 | 647 | else if(text_convertion.at(LetterPos) == 'M') |
JOEV | 2:d5472e4a55bf | 648 | { |
JOEV | 3:bd1352d4dbb8 | 649 | initArray(M,5,matrix_value); |
JOEV | 2:d5472e4a55bf | 650 | } |
JOEV | 3:bd1352d4dbb8 | 651 | else if(text_convertion.at(LetterPos) == 'm') |
JOEV | 2:d5472e4a55bf | 652 | { |
JOEV | 3:bd1352d4dbb8 | 653 | initArray(m,5,matrix_value); |
JOEV | 2:d5472e4a55bf | 654 | } |
JOEV | 3:bd1352d4dbb8 | 655 | else if(text_convertion.at(LetterPos) == 'N') |
JOEV | 2:d5472e4a55bf | 656 | { |
JOEV | 3:bd1352d4dbb8 | 657 | initArray(N,5,matrix_value); |
JOEV | 2:d5472e4a55bf | 658 | } |
JOEV | 3:bd1352d4dbb8 | 659 | else if(text_convertion.at(LetterPos) == 'n') |
JOEV | 2:d5472e4a55bf | 660 | { |
JOEV | 3:bd1352d4dbb8 | 661 | initArray(n,4,matrix_value); |
JOEV | 2:d5472e4a55bf | 662 | } |
JOEV | 3:bd1352d4dbb8 | 663 | else if(text_convertion.at(LetterPos) == 'O') |
JOEV | 2:d5472e4a55bf | 664 | { |
JOEV | 3:bd1352d4dbb8 | 665 | initArray(O,4,matrix_value); |
JOEV | 2:d5472e4a55bf | 666 | } |
JOEV | 3:bd1352d4dbb8 | 667 | else if(text_convertion.at(LetterPos) == 'o') |
JOEV | 2:d5472e4a55bf | 668 | { |
JOEV | 3:bd1352d4dbb8 | 669 | initArray(o,5,matrix_value); |
JOEV | 2:d5472e4a55bf | 670 | } |
JOEV | 3:bd1352d4dbb8 | 671 | else if(text_convertion.at(LetterPos) == 'P') |
JOEV | 2:d5472e4a55bf | 672 | { |
JOEV | 3:bd1352d4dbb8 | 673 | initArray(P,4,matrix_value); |
JOEV | 2:d5472e4a55bf | 674 | } |
JOEV | 3:bd1352d4dbb8 | 675 | else if(text_convertion.at(LetterPos) == 'p') |
JOEV | 2:d5472e4a55bf | 676 | { |
JOEV | 3:bd1352d4dbb8 | 677 | initArray(p,4,matrix_value); |
JOEV | 2:d5472e4a55bf | 678 | } |
JOEV | 3:bd1352d4dbb8 | 679 | else if(text_convertion.at(LetterPos) == 'Q') |
JOEV | 2:d5472e4a55bf | 680 | { |
JOEV | 3:bd1352d4dbb8 | 681 | initArray(Q,5,matrix_value); |
JOEV | 2:d5472e4a55bf | 682 | } |
JOEV | 3:bd1352d4dbb8 | 683 | else if(text_convertion.at(LetterPos) == 'q') |
JOEV | 2:d5472e4a55bf | 684 | { |
JOEV | 3:bd1352d4dbb8 | 685 | initArray(q,4,matrix_value); |
JOEV | 2:d5472e4a55bf | 686 | } |
JOEV | 3:bd1352d4dbb8 | 687 | else if(text_convertion.at(LetterPos) == 'R') |
JOEV | 2:d5472e4a55bf | 688 | { |
JOEV | 3:bd1352d4dbb8 | 689 | initArray(R,4,matrix_value); |
JOEV | 2:d5472e4a55bf | 690 | } |
JOEV | 3:bd1352d4dbb8 | 691 | else if(text_convertion.at(LetterPos) == 'r') |
JOEV | 2:d5472e4a55bf | 692 | { |
JOEV | 3:bd1352d4dbb8 | 693 | initArray(r,3,matrix_value); |
JOEV | 2:d5472e4a55bf | 694 | } |
JOEV | 3:bd1352d4dbb8 | 695 | else if(text_convertion.at(LetterPos) == 'S') |
JOEV | 2:d5472e4a55bf | 696 | { |
JOEV | 3:bd1352d4dbb8 | 697 | initArray(S,4,matrix_value); |
JOEV | 2:d5472e4a55bf | 698 | } |
JOEV | 3:bd1352d4dbb8 | 699 | else if(text_convertion.at(LetterPos) == 's') |
JOEV | 2:d5472e4a55bf | 700 | { |
JOEV | 3:bd1352d4dbb8 | 701 | initArray(s,4,matrix_value); |
JOEV | 2:d5472e4a55bf | 702 | } |
JOEV | 3:bd1352d4dbb8 | 703 | else if(text_convertion.at(LetterPos) == 'T') |
JOEV | 2:d5472e4a55bf | 704 | { |
JOEV | 3:bd1352d4dbb8 | 705 | initArray(T,5,matrix_value); |
JOEV | 2:d5472e4a55bf | 706 | } |
JOEV | 3:bd1352d4dbb8 | 707 | else if(text_convertion.at(LetterPos) == 't') |
JOEV | 2:d5472e4a55bf | 708 | { |
JOEV | 3:bd1352d4dbb8 | 709 | initArray(t,3,matrix_value); |
JOEV | 2:d5472e4a55bf | 710 | } |
JOEV | 3:bd1352d4dbb8 | 711 | else if(text_convertion.at(LetterPos) == 'U') |
JOEV | 2:d5472e4a55bf | 712 | { |
JOEV | 3:bd1352d4dbb8 | 713 | initArray(U,4,matrix_value); |
JOEV | 2:d5472e4a55bf | 714 | } |
JOEV | 3:bd1352d4dbb8 | 715 | else if(text_convertion.at(LetterPos) == 'u') |
JOEV | 2:d5472e4a55bf | 716 | { |
JOEV | 3:bd1352d4dbb8 | 717 | initArray(u,5,matrix_value); |
JOEV | 2:d5472e4a55bf | 718 | } |
JOEV | 3:bd1352d4dbb8 | 719 | else if(text_convertion.at(LetterPos) == 'V') |
JOEV | 2:d5472e4a55bf | 720 | { |
JOEV | 3:bd1352d4dbb8 | 721 | initArray(V,5,matrix_value); |
JOEV | 2:d5472e4a55bf | 722 | } |
JOEV | 3:bd1352d4dbb8 | 723 | else if(text_convertion.at(LetterPos) == 'v') |
JOEV | 2:d5472e4a55bf | 724 | { |
JOEV | 3:bd1352d4dbb8 | 725 | initArray(v,5,matrix_value); |
JOEV | 2:d5472e4a55bf | 726 | } |
JOEV | 3:bd1352d4dbb8 | 727 | else if(text_convertion.at(LetterPos) == 'W') |
JOEV | 2:d5472e4a55bf | 728 | { |
JOEV | 3:bd1352d4dbb8 | 729 | initArray(W,5,matrix_value); |
JOEV | 2:d5472e4a55bf | 730 | } |
JOEV | 3:bd1352d4dbb8 | 731 | else if(text_convertion.at(LetterPos) == 'w') |
JOEV | 2:d5472e4a55bf | 732 | { |
JOEV | 3:bd1352d4dbb8 | 733 | initArray(w,5,matrix_value); |
JOEV | 2:d5472e4a55bf | 734 | } |
JOEV | 3:bd1352d4dbb8 | 735 | else if(text_convertion.at(LetterPos) == 'X') |
JOEV | 2:d5472e4a55bf | 736 | { |
JOEV | 3:bd1352d4dbb8 | 737 | initArray(X,4,matrix_value); |
JOEV | 2:d5472e4a55bf | 738 | } |
JOEV | 3:bd1352d4dbb8 | 739 | else if(text_convertion.at(LetterPos) == 'x') |
JOEV | 2:d5472e4a55bf | 740 | { |
JOEV | 3:bd1352d4dbb8 | 741 | initArray(x,4,matrix_value); |
JOEV | 2:d5472e4a55bf | 742 | } |
JOEV | 3:bd1352d4dbb8 | 743 | else if(text_convertion.at(LetterPos) == 'Y') |
JOEV | 2:d5472e4a55bf | 744 | { |
JOEV | 3:bd1352d4dbb8 | 745 | initArray(Y,5,matrix_value); |
JOEV | 2:d5472e4a55bf | 746 | } |
JOEV | 3:bd1352d4dbb8 | 747 | else if(text_convertion.at(LetterPos) == 'y') |
JOEV | 2:d5472e4a55bf | 748 | { |
JOEV | 3:bd1352d4dbb8 | 749 | initArray(y,5,matrix_value); |
JOEV | 2:d5472e4a55bf | 750 | } |
JOEV | 3:bd1352d4dbb8 | 751 | else if(text_convertion.at(LetterPos) == 'Z') |
JOEV | 2:d5472e4a55bf | 752 | { |
JOEV | 3:bd1352d4dbb8 | 753 | initArray(Z,4,matrix_value); |
JOEV | 2:d5472e4a55bf | 754 | } |
JOEV | 3:bd1352d4dbb8 | 755 | else if(text_convertion.at(LetterPos) == 'z') |
JOEV | 2:d5472e4a55bf | 756 | { |
JOEV | 3:bd1352d4dbb8 | 757 | initArray(z,4,matrix_value); |
JOEV | 2:d5472e4a55bf | 758 | } |
JOEV | 2:d5472e4a55bf | 759 | // Numbers ----------------------- |
JOEV | 3:bd1352d4dbb8 | 760 | else if(text_convertion.at(LetterPos) == '0') |
JOEV | 2:d5472e4a55bf | 761 | { |
JOEV | 3:bd1352d4dbb8 | 762 | initArray(zero,4,matrix_value); |
JOEV | 2:d5472e4a55bf | 763 | } |
JOEV | 3:bd1352d4dbb8 | 764 | else if(text_convertion.at(LetterPos) == '1') |
JOEV | 2:d5472e4a55bf | 765 | { |
JOEV | 3:bd1352d4dbb8 | 766 | initArray(one,4,matrix_value); |
JOEV | 2:d5472e4a55bf | 767 | } |
JOEV | 3:bd1352d4dbb8 | 768 | else if(text_convertion.at(LetterPos) == '2') |
JOEV | 2:d5472e4a55bf | 769 | { |
JOEV | 3:bd1352d4dbb8 | 770 | initArray(two,4,matrix_value); |
JOEV | 2:d5472e4a55bf | 771 | } |
JOEV | 3:bd1352d4dbb8 | 772 | else if(text_convertion.at(LetterPos) == '3') |
JOEV | 2:d5472e4a55bf | 773 | { |
JOEV | 3:bd1352d4dbb8 | 774 | initArray(three,4,matrix_value); |
JOEV | 2:d5472e4a55bf | 775 | } |
JOEV | 3:bd1352d4dbb8 | 776 | else if(text_convertion.at(LetterPos) == '4') |
JOEV | 2:d5472e4a55bf | 777 | { |
JOEV | 3:bd1352d4dbb8 | 778 | initArray(four,4,matrix_value); |
JOEV | 2:d5472e4a55bf | 779 | } |
JOEV | 3:bd1352d4dbb8 | 780 | else if(text_convertion.at(LetterPos) == '5') |
JOEV | 2:d5472e4a55bf | 781 | { |
JOEV | 3:bd1352d4dbb8 | 782 | initArray(five,4,matrix_value); |
JOEV | 2:d5472e4a55bf | 783 | } |
JOEV | 3:bd1352d4dbb8 | 784 | else if(text_convertion.at(LetterPos) == '6') |
JOEV | 2:d5472e4a55bf | 785 | { |
JOEV | 3:bd1352d4dbb8 | 786 | initArray(six,4,matrix_value); |
JOEV | 2:d5472e4a55bf | 787 | } |
JOEV | 3:bd1352d4dbb8 | 788 | else if(text_convertion.at(LetterPos) == '7') |
JOEV | 2:d5472e4a55bf | 789 | { |
JOEV | 3:bd1352d4dbb8 | 790 | initArray(seven,4,matrix_value); |
JOEV | 2:d5472e4a55bf | 791 | } |
JOEV | 3:bd1352d4dbb8 | 792 | else if(text_convertion.at(LetterPos) == '8') |
JOEV | 2:d5472e4a55bf | 793 | { |
JOEV | 3:bd1352d4dbb8 | 794 | initArray(eight,4,matrix_value); |
JOEV | 2:d5472e4a55bf | 795 | } |
JOEV | 3:bd1352d4dbb8 | 796 | else if(text_convertion.at(LetterPos) == '9') |
JOEV | 2:d5472e4a55bf | 797 | { |
JOEV | 3:bd1352d4dbb8 | 798 | initArray(nine,4,matrix_value); |
JOEV | 2:d5472e4a55bf | 799 | } |
JOEV | 2:d5472e4a55bf | 800 | // Symbols ----------------------- |
JOEV | 3:bd1352d4dbb8 | 801 | else if(text_convertion.at(LetterPos) == '!') |
JOEV | 2:d5472e4a55bf | 802 | { |
JOEV | 3:bd1352d4dbb8 | 803 | initArray(exclam,1,matrix_value); |
JOEV | 2:d5472e4a55bf | 804 | } |
JOEV | 3:bd1352d4dbb8 | 805 | else if(text_convertion.at(LetterPos) == '?') |
JOEV | 2:d5472e4a55bf | 806 | { |
JOEV | 3:bd1352d4dbb8 | 807 | initArray(quest,3,matrix_value); |
JOEV | 2:d5472e4a55bf | 808 | } |
JOEV | 3:bd1352d4dbb8 | 809 | else if(text_convertion.at(LetterPos) == 34) |
JOEV | 2:d5472e4a55bf | 810 | { |
JOEV | 3:bd1352d4dbb8 | 811 | initArray(quote,3,matrix_value); |
JOEV | 2:d5472e4a55bf | 812 | } |
JOEV | 3:bd1352d4dbb8 | 813 | else if(text_convertion.at(LetterPos) == '#') |
JOEV | 2:d5472e4a55bf | 814 | { |
JOEV | 3:bd1352d4dbb8 | 815 | initArray(hash,5,matrix_value); |
JOEV | 2:d5472e4a55bf | 816 | } |
JOEV | 3:bd1352d4dbb8 | 817 | else if(text_convertion.at(LetterPos) == '$') |
JOEV | 2:d5472e4a55bf | 818 | { |
JOEV | 3:bd1352d4dbb8 | 819 | initArray(dollar,5,matrix_value); |
JOEV | 2:d5472e4a55bf | 820 | } |
JOEV | 3:bd1352d4dbb8 | 821 | else if(text_convertion.at(LetterPos) == '%') |
JOEV | 2:d5472e4a55bf | 822 | { |
JOEV | 3:bd1352d4dbb8 | 823 | initArray(prcent,7,matrix_value); |
JOEV | 2:d5472e4a55bf | 824 | } |
JOEV | 3:bd1352d4dbb8 | 825 | else if(text_convertion.at(LetterPos) == '&') |
JOEV | 2:d5472e4a55bf | 826 | { |
JOEV | 3:bd1352d4dbb8 | 827 | initArray(_and,5,matrix_value); |
JOEV | 2:d5472e4a55bf | 828 | } |
JOEV | 3:bd1352d4dbb8 | 829 | else if(text_convertion.at(LetterPos) == '(') |
JOEV | 2:d5472e4a55bf | 830 | { |
JOEV | 3:bd1352d4dbb8 | 831 | initArray(round_o,2,matrix_value); |
JOEV | 2:d5472e4a55bf | 832 | } |
JOEV | 3:bd1352d4dbb8 | 833 | else if(text_convertion.at(LetterPos) == ')') |
JOEV | 2:d5472e4a55bf | 834 | { |
JOEV | 3:bd1352d4dbb8 | 835 | initArray(round_c,2,matrix_value); |
JOEV | 2:d5472e4a55bf | 836 | } |
JOEV | 3:bd1352d4dbb8 | 837 | else if(text_convertion.at(LetterPos) == '*') |
JOEV | 2:d5472e4a55bf | 838 | { |
JOEV | 3:bd1352d4dbb8 | 839 | initArray(star,5,matrix_value); |
JOEV | 2:d5472e4a55bf | 840 | } |
JOEV | 3:bd1352d4dbb8 | 841 | else if(text_convertion.at(LetterPos) == '+') |
JOEV | 2:d5472e4a55bf | 842 | { |
JOEV | 3:bd1352d4dbb8 | 843 | initArray(plus,5,matrix_value); |
JOEV | 2:d5472e4a55bf | 844 | } |
JOEV | 3:bd1352d4dbb8 | 845 | else if(text_convertion.at(LetterPos) == '-') |
JOEV | 2:d5472e4a55bf | 846 | { |
JOEV | 3:bd1352d4dbb8 | 847 | initArray(minus,3,matrix_value); |
JOEV | 2:d5472e4a55bf | 848 | } |
JOEV | 3:bd1352d4dbb8 | 849 | else if(text_convertion.at(LetterPos) == '=') |
JOEV | 2:d5472e4a55bf | 850 | { |
JOEV | 3:bd1352d4dbb8 | 851 | initArray(_equal,4,matrix_value); |
JOEV | 2:d5472e4a55bf | 852 | } |
JOEV | 3:bd1352d4dbb8 | 853 | else if(text_convertion.at(LetterPos) == ',') |
JOEV | 2:d5472e4a55bf | 854 | { |
JOEV | 3:bd1352d4dbb8 | 855 | initArray(comma,2,matrix_value); |
JOEV | 2:d5472e4a55bf | 856 | } |
JOEV | 3:bd1352d4dbb8 | 857 | else if(text_convertion.at(LetterPos) == '.') |
JOEV | 2:d5472e4a55bf | 858 | { |
JOEV | 3:bd1352d4dbb8 | 859 | initArray(point,1,matrix_value); |
JOEV | 2:d5472e4a55bf | 860 | } |
JOEV | 3:bd1352d4dbb8 | 861 | else if(text_convertion.at(LetterPos) == '/') |
JOEV | 2:d5472e4a55bf | 862 | { |
JOEV | 3:bd1352d4dbb8 | 863 | initArray(slash,5,matrix_value); |
JOEV | 2:d5472e4a55bf | 864 | } |
JOEV | 3:bd1352d4dbb8 | 865 | else if(text_convertion.at(LetterPos) == 58) |
JOEV | 2:d5472e4a55bf | 866 | { |
JOEV | 3:bd1352d4dbb8 | 867 | initArray(d_point,1,matrix_value); |
JOEV | 2:d5472e4a55bf | 868 | } |
JOEV | 3:bd1352d4dbb8 | 869 | else if(text_convertion.at(LetterPos) == 59) |
JOEV | 2:d5472e4a55bf | 870 | { |
JOEV | 3:bd1352d4dbb8 | 871 | initArray(poicom,2,matrix_value); |
JOEV | 2:d5472e4a55bf | 872 | } |
JOEV | 3:bd1352d4dbb8 | 873 | else if(text_convertion.at(LetterPos) == 95) |
JOEV | 2:d5472e4a55bf | 874 | { |
JOEV | 3:bd1352d4dbb8 | 875 | initArray(undlin,4,matrix_value); |
JOEV | 2:d5472e4a55bf | 876 | } |
JOEV | 3:bd1352d4dbb8 | 877 | else if(text_convertion.at(LetterPos) == 92) |
JOEV | 2:d5472e4a55bf | 878 | { |
JOEV | 3:bd1352d4dbb8 | 879 | initArray(b_slash,5,matrix_value); |
JOEV | 2:d5472e4a55bf | 880 | } |
JOEV | 3:bd1352d4dbb8 | 881 | else if(text_convertion.at(LetterPos) == 64) |
JOEV | 2:d5472e4a55bf | 882 | { |
JOEV | 3:bd1352d4dbb8 | 883 | initArray(at,5,matrix_value); |
JOEV | 2:d5472e4a55bf | 884 | } |
JOEV | 3:bd1352d4dbb8 | 885 | else if(text_convertion.at(LetterPos) == 62) |
JOEV | 2:d5472e4a55bf | 886 | { |
JOEV | 3:bd1352d4dbb8 | 887 | initArray(more,4,matrix_value); |
JOEV | 2:d5472e4a55bf | 888 | } |
JOEV | 3:bd1352d4dbb8 | 889 | else if(text_convertion.at(LetterPos) == 60) |
JOEV | 2:d5472e4a55bf | 890 | { |
JOEV | 3:bd1352d4dbb8 | 891 | initArray(less,4,matrix_value); |
JOEV | 2:d5472e4a55bf | 892 | } |
JOEV | 3:bd1352d4dbb8 | 893 | else if(text_convertion.at(LetterPos) == '[') |
JOEV | 2:d5472e4a55bf | 894 | { |
JOEV | 3:bd1352d4dbb8 | 895 | initArray(brack_o,2,matrix_value); |
JOEV | 2:d5472e4a55bf | 896 | } |
JOEV | 3:bd1352d4dbb8 | 897 | else if(text_convertion.at(LetterPos) == ']') |
JOEV | 2:d5472e4a55bf | 898 | { |
JOEV | 3:bd1352d4dbb8 | 899 | initArray(brack_c,2,matrix_value); |
JOEV | 2:d5472e4a55bf | 900 | } |
JOEV | 3:bd1352d4dbb8 | 901 | else if(text_convertion.at(LetterPos) == 94) |
JOEV | 2:d5472e4a55bf | 902 | { |
JOEV | 3:bd1352d4dbb8 | 903 | initArray(roof,3,matrix_value); |
JOEV | 2:d5472e4a55bf | 904 | } |
JOEV | 3:bd1352d4dbb8 | 905 | else if(text_convertion.at(LetterPos) == '{') |
JOEV | 2:d5472e4a55bf | 906 | { |
JOEV | 3:bd1352d4dbb8 | 907 | initArray(brace_o,3,matrix_value); |
JOEV | 2:d5472e4a55bf | 908 | } |
JOEV | 3:bd1352d4dbb8 | 909 | else if(text_convertion.at(LetterPos) == '}') |
JOEV | 2:d5472e4a55bf | 910 | { |
JOEV | 3:bd1352d4dbb8 | 911 | initArray(brace_c,3,matrix_value); |
JOEV | 2:d5472e4a55bf | 912 | } |
JOEV | 3:bd1352d4dbb8 | 913 | else if(text_convertion.at(LetterPos) == '~') |
JOEV | 2:d5472e4a55bf | 914 | { |
JOEV | 3:bd1352d4dbb8 | 915 | initArray(wave,4,matrix_value); |
JOEV | 2:d5472e4a55bf | 916 | } |
JOEV | 3:bd1352d4dbb8 | 917 | else if(text_convertion.at(LetterPos) == '|') |
JOEV | 2:d5472e4a55bf | 918 | { |
JOEV | 3:bd1352d4dbb8 | 919 | initArray(stick,1,matrix_value); |
JOEV | 2:d5472e4a55bf | 920 | } |
JOEV | 3:bd1352d4dbb8 | 921 | else if(text_convertion.at(LetterPos) == '`') |
JOEV | 2:d5472e4a55bf | 922 | { |
JOEV | 3:bd1352d4dbb8 | 923 | initArray(frapo,2,matrix_value); |
JOEV | 2:d5472e4a55bf | 924 | } |
JOEV | 3:bd1352d4dbb8 | 925 | else if(text_convertion.at(LetterPos) == ' ') |
JOEV | 2:d5472e4a55bf | 926 | { |
JOEV | 3:bd1352d4dbb8 | 927 | initArray(space,3,matrix_value); |
JOEV | 2:d5472e4a55bf | 928 | } |
JOEV | 2:d5472e4a55bf | 929 | } |
JOEV | 3:bd1352d4dbb8 | 930 | } |
JOEV | 3:bd1352d4dbb8 | 931 | |
JOEV | 3:bd1352d4dbb8 | 932 | //============================================================================================ |
JOEV | 3:bd1352d4dbb8 | 933 | //▄▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄ |
JOEV | 3:bd1352d4dbb8 | 934 | //█ █ █ ▀ ▀ █ ▀ █ ▀ █ ▀█ |
JOEV | 3:bd1352d4dbb8 | 935 | //█ █ ▀▄▄ ▄▄▀ ▄▄▀ ▄▄▀ █ |
JOEV | 3:bd1352d4dbb8 | 936 | //█ █ █ █ █ █ █ |
JOEV | 3:bd1352d4dbb8 | 937 | //█▄▄▀ ▀▄▄▀ ▀▄▄▀ ▀▄▄▀ ▀▄▄▀ ▄█▄ |