LED Generico de Chanfa
Led.h@0:a7fdb950e0e2, 2017-06-10 (annotated)
- Committer:
- MAlmazan
- Date:
- Sat Jun 10 14:46:18 2017 +0000
- Revision:
- 0:a7fdb950e0e2
Libreria que maneja Leds
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
MAlmazan | 0:a7fdb950e0e2 | 1 | #include "mbed.h" |
MAlmazan | 0:a7fdb950e0e2 | 2 | |
MAlmazan | 0:a7fdb950e0e2 | 3 | DigitalOut gpo(D0); |
MAlmazan | 0:a7fdb950e0e2 | 4 | DigitalOut ledR(LED_RED); |
MAlmazan | 0:a7fdb950e0e2 | 5 | DigitalOut ledG(LED_GREEN); |
MAlmazan | 0:a7fdb950e0e2 | 6 | DigitalOut ledB(LED_BLUE); |
MAlmazan | 0:a7fdb950e0e2 | 7 | |
MAlmazan | 0:a7fdb950e0e2 | 8 | //mbed.h por su cuenta tiene la lista de pines para el LED segun la plaqueta |
MAlmazan | 0:a7fdb950e0e2 | 9 | |
MAlmazan | 0:a7fdb950e0e2 | 10 | //TODO |
MAlmazan | 0:a7fdb950e0e2 | 11 | //falta funcion random para ciclar entre colores |
MAlmazan | 0:a7fdb950e0e2 | 12 | |
MAlmazan | 0:a7fdb950e0e2 | 13 | float Estado[3] = {1.0f, 1.0f, 1.0f}; |
MAlmazan | 0:a7fdb950e0e2 | 14 | |
MAlmazan | 0:a7fdb950e0e2 | 15 | bool LEDManual(float R, float G, float B) { |
MAlmazan | 0:a7fdb950e0e2 | 16 | if ((R <= 1.0f) && (G <= 1.0f) && (B <= 1.0f) && (R >= 0.0f) && (G >= 0.0f) && (B >= 0.0f)){ |
MAlmazan | 0:a7fdb950e0e2 | 17 | ledR = R; |
MAlmazan | 0:a7fdb950e0e2 | 18 | ledG = G; |
MAlmazan | 0:a7fdb950e0e2 | 19 | ledB = B; |
MAlmazan | 0:a7fdb950e0e2 | 20 | |
MAlmazan | 0:a7fdb950e0e2 | 21 | Estado[0] = ledR; |
MAlmazan | 0:a7fdb950e0e2 | 22 | Estado[1] = ledG; |
MAlmazan | 0:a7fdb950e0e2 | 23 | Estado[2] = ledB; |
MAlmazan | 0:a7fdb950e0e2 | 24 | return true; |
MAlmazan | 0:a7fdb950e0e2 | 25 | } else { |
MAlmazan | 0:a7fdb950e0e2 | 26 | LEDManual(Estado[0], Estado[1], Estado[2]); |
MAlmazan | 0:a7fdb950e0e2 | 27 | return false; |
MAlmazan | 0:a7fdb950e0e2 | 28 | } |
MAlmazan | 0:a7fdb950e0e2 | 29 | } |
MAlmazan | 0:a7fdb950e0e2 | 30 | |
MAlmazan | 0:a7fdb950e0e2 | 31 | bool LEDColor(char C) { |
MAlmazan | 0:a7fdb950e0e2 | 32 | bool b = true; |
MAlmazan | 0:a7fdb950e0e2 | 33 | |
MAlmazan | 0:a7fdb950e0e2 | 34 | switch (C) { |
MAlmazan | 0:a7fdb950e0e2 | 35 | case 'R': |
MAlmazan | 0:a7fdb950e0e2 | 36 | LEDManual(0.0f, 1.0f, 1.0f); |
MAlmazan | 0:a7fdb950e0e2 | 37 | break; |
MAlmazan | 0:a7fdb950e0e2 | 38 | case 'G': |
MAlmazan | 0:a7fdb950e0e2 | 39 | LEDManual(1.0f, 0.0f, 1.0f); |
MAlmazan | 0:a7fdb950e0e2 | 40 | break; |
MAlmazan | 0:a7fdb950e0e2 | 41 | case 'B': |
MAlmazan | 0:a7fdb950e0e2 | 42 | LEDManual(1.0f, 1.0f, 0.0f); |
MAlmazan | 0:a7fdb950e0e2 | 43 | break; |
MAlmazan | 0:a7fdb950e0e2 | 44 | case 'Y': |
MAlmazan | 0:a7fdb950e0e2 | 45 | LEDManual(0.0f, 0.0f, 1.0f); |
MAlmazan | 0:a7fdb950e0e2 | 46 | break; |
MAlmazan | 0:a7fdb950e0e2 | 47 | case 'M': |
MAlmazan | 0:a7fdb950e0e2 | 48 | LEDManual(0.0f, 1.0f, 0.0f); |
MAlmazan | 0:a7fdb950e0e2 | 49 | break; |
MAlmazan | 0:a7fdb950e0e2 | 50 | case 'C': |
MAlmazan | 0:a7fdb950e0e2 | 51 | LEDManual(1.0f, 0.0f, 0.0f); |
MAlmazan | 0:a7fdb950e0e2 | 52 | break; |
MAlmazan | 0:a7fdb950e0e2 | 53 | case 'W': |
MAlmazan | 0:a7fdb950e0e2 | 54 | LEDManual(0.0f, 0.0f, 0.0f); |
MAlmazan | 0:a7fdb950e0e2 | 55 | break; |
MAlmazan | 0:a7fdb950e0e2 | 56 | default: |
MAlmazan | 0:a7fdb950e0e2 | 57 | b = false; |
MAlmazan | 0:a7fdb950e0e2 | 58 | break; |
MAlmazan | 0:a7fdb950e0e2 | 59 | } |
MAlmazan | 0:a7fdb950e0e2 | 60 | |
MAlmazan | 0:a7fdb950e0e2 | 61 | if (b) { |
MAlmazan | 0:a7fdb950e0e2 | 62 | Estado[0] = ledR; |
MAlmazan | 0:a7fdb950e0e2 | 63 | Estado[1] = ledG; |
MAlmazan | 0:a7fdb950e0e2 | 64 | Estado[2] = ledB; |
MAlmazan | 0:a7fdb950e0e2 | 65 | } |
MAlmazan | 0:a7fdb950e0e2 | 66 | |
MAlmazan | 0:a7fdb950e0e2 | 67 | return b; |
MAlmazan | 0:a7fdb950e0e2 | 68 | } |
MAlmazan | 0:a7fdb950e0e2 | 69 | |
MAlmazan | 0:a7fdb950e0e2 | 70 | void LEDEstado(bool b) { |
MAlmazan | 0:a7fdb950e0e2 | 71 | if (b) { |
MAlmazan | 0:a7fdb950e0e2 | 72 | LEDManual(Estado[0], Estado[1], Estado[2]); |
MAlmazan | 0:a7fdb950e0e2 | 73 | } else { |
MAlmazan | 0:a7fdb950e0e2 | 74 | ledR = 1.0f; |
MAlmazan | 0:a7fdb950e0e2 | 75 | ledG = 1.0f; |
MAlmazan | 0:a7fdb950e0e2 | 76 | ledB = 1.0f; |
MAlmazan | 0:a7fdb950e0e2 | 77 | } |
MAlmazan | 0:a7fdb950e0e2 | 78 | } |
MAlmazan | 0:a7fdb950e0e2 | 79 |