Library for NUCLEO-F072RB Made as a project

Dependents:   Konstrukcijski_LAMPICE Konstrukcijski_LAMPICE

Committer:
kurton_ing
Date:
Thu May 06 19:23:26 2021 +0000
Revision:
0:4c714cae8da3
a

Who changed what in which revision?

UserRevisionLine numberNew contents of line
kurton_ing 0:4c714cae8da3 1 #include "LAMPICE.h"
kurton_ing 0:4c714cae8da3 2 #include "mbed.h"
kurton_ing 0:4c714cae8da3 3 LAMPICE::LAMPICE(PinName LED1, PinName LED2, PinName trimer, PinName TIPKALO1, PinName LED3, PinName pwmpin2) : _LED1(LED1), _LED2(LED2), _trimer(trimer), _TIPKALO1(TIPKALO1), _LED3(LED3), _LED4(pwmpin2)
kurton_ing 0:4c714cae8da3 4 {
kurton_ing 0:4c714cae8da3 5 _LED1 = 0;
kurton_ing 0:4c714cae8da3 6 _LED2 = 0;
kurton_ing 0:4c714cae8da3 7 _trimer;
kurton_ing 0:4c714cae8da3 8 _TIPKALO1.rise(callback(this, &LAMPICE::button));
kurton_ing 0:4c714cae8da3 9 _LED3.period(0.01);
kurton_ing 0:4c714cae8da3 10 _LED4.period(0.01);
kurton_ing 0:4c714cae8da3 11 _count;
kurton_ing 0:4c714cae8da3 12 _blinker;
kurton_ing 0:4c714cae8da3 13 }
kurton_ing 0:4c714cae8da3 14
kurton_ing 0:4c714cae8da3 15 void LAMPICE::svjetla1(){
kurton_ing 0:4c714cae8da3 16 float time;
kurton_ing 0:4c714cae8da3 17 time=_trimer;
kurton_ing 0:4c714cae8da3 18
kurton_ing 0:4c714cae8da3 19 for(float i=0; i<=100; i++){
kurton_ing 0:4c714cae8da3 20 _LED3=i/100;
kurton_ing 0:4c714cae8da3 21 wait(0.05*time);
kurton_ing 0:4c714cae8da3 22 }
kurton_ing 0:4c714cae8da3 23
kurton_ing 0:4c714cae8da3 24 for(float i=100; i>=0; i--){
kurton_ing 0:4c714cae8da3 25 _LED3=i/100;
kurton_ing 0:4c714cae8da3 26 wait(0.05*time);
kurton_ing 0:4c714cae8da3 27 }
kurton_ing 0:4c714cae8da3 28 }
kurton_ing 0:4c714cae8da3 29
kurton_ing 0:4c714cae8da3 30 void LAMPICE::svjetla2(){
kurton_ing 0:4c714cae8da3 31 float time;
kurton_ing 0:4c714cae8da3 32 time=_trimer;
kurton_ing 0:4c714cae8da3 33
kurton_ing 0:4c714cae8da3 34 for(float i=0; i<=100; i++){
kurton_ing 0:4c714cae8da3 35 _LED4=i/100;
kurton_ing 0:4c714cae8da3 36 wait(0.05*time);
kurton_ing 0:4c714cae8da3 37 }
kurton_ing 0:4c714cae8da3 38
kurton_ing 0:4c714cae8da3 39 for(float i=100; i>=0; i--){
kurton_ing 0:4c714cae8da3 40 _LED4=i/100;
kurton_ing 0:4c714cae8da3 41 wait(0.05*time);
kurton_ing 0:4c714cae8da3 42 }
kurton_ing 0:4c714cae8da3 43 }
kurton_ing 0:4c714cae8da3 44
kurton_ing 0:4c714cae8da3 45 void LAMPICE::svjetla3(){
kurton_ing 0:4c714cae8da3 46 float time;
kurton_ing 0:4c714cae8da3 47 time=_trimer;
kurton_ing 0:4c714cae8da3 48
kurton_ing 0:4c714cae8da3 49 for(float i=0; i<=100; i++){
kurton_ing 0:4c714cae8da3 50 _LED3=i/100;
kurton_ing 0:4c714cae8da3 51 wait(0.05*time);
kurton_ing 0:4c714cae8da3 52 }
kurton_ing 0:4c714cae8da3 53
kurton_ing 0:4c714cae8da3 54 for(float i=0; i<=100; i++){
kurton_ing 0:4c714cae8da3 55 _LED4=i/100;
kurton_ing 0:4c714cae8da3 56 wait(0.05*time);
kurton_ing 0:4c714cae8da3 57 }
kurton_ing 0:4c714cae8da3 58
kurton_ing 0:4c714cae8da3 59 for(float i=100; i>=0; i--){
kurton_ing 0:4c714cae8da3 60 _LED3=i/100;
kurton_ing 0:4c714cae8da3 61 _LED4=i/100;
kurton_ing 0:4c714cae8da3 62 wait(0.05*time);
kurton_ing 0:4c714cae8da3 63 }
kurton_ing 0:4c714cae8da3 64 }
kurton_ing 0:4c714cae8da3 65
kurton_ing 0:4c714cae8da3 66 void LAMPICE::svjetla4(){
kurton_ing 0:4c714cae8da3 67 _LED1=!_LED1;
kurton_ing 0:4c714cae8da3 68 wait(1);
kurton_ing 0:4c714cae8da3 69 _LED1=!_LED1;
kurton_ing 0:4c714cae8da3 70 _LED2=!_LED2;
kurton_ing 0:4c714cae8da3 71 wait(1);
kurton_ing 0:4c714cae8da3 72 _LED2=!_LED2;
kurton_ing 0:4c714cae8da3 73 }
kurton_ing 0:4c714cae8da3 74
kurton_ing 0:4c714cae8da3 75 void LAMPICE::svjetla5(){
kurton_ing 0:4c714cae8da3 76 float time;
kurton_ing 0:4c714cae8da3 77 time=_trimer;
kurton_ing 0:4c714cae8da3 78
kurton_ing 0:4c714cae8da3 79 _LED1=!_LED1;
kurton_ing 0:4c714cae8da3 80 for(float i=0; i<=100; i++){
kurton_ing 0:4c714cae8da3 81 _LED4=i/100;
kurton_ing 0:4c714cae8da3 82 wait(0.025*time);
kurton_ing 0:4c714cae8da3 83 }
kurton_ing 0:4c714cae8da3 84
kurton_ing 0:4c714cae8da3 85 _LED1=!_LED1;
kurton_ing 0:4c714cae8da3 86 _LED2=!_LED2;
kurton_ing 0:4c714cae8da3 87
kurton_ing 0:4c714cae8da3 88 for(float i=100; i>=0; i--){
kurton_ing 0:4c714cae8da3 89 _LED4=i/100;
kurton_ing 0:4c714cae8da3 90 wait(0.025*time);
kurton_ing 0:4c714cae8da3 91 }
kurton_ing 0:4c714cae8da3 92 _LED2=!_LED2;
kurton_ing 0:4c714cae8da3 93 }
kurton_ing 0:4c714cae8da3 94
kurton_ing 0:4c714cae8da3 95 void LAMPICE::svjetla6(){
kurton_ing 0:4c714cae8da3 96 float time;
kurton_ing 0:4c714cae8da3 97 time=_trimer;
kurton_ing 0:4c714cae8da3 98
kurton_ing 0:4c714cae8da3 99 _blinker.attach(callback(this, &LAMPICE::blink), 1);
kurton_ing 0:4c714cae8da3 100
kurton_ing 0:4c714cae8da3 101 for(float i=0; i<=33; i++){
kurton_ing 0:4c714cae8da3 102 _LED3=i/100;
kurton_ing 0:4c714cae8da3 103 _LED4=i/100;
kurton_ing 0:4c714cae8da3 104 wait(0.06*time);
kurton_ing 0:4c714cae8da3 105 }
kurton_ing 0:4c714cae8da3 106 for(float i=34; i<=66; i++){
kurton_ing 0:4c714cae8da3 107 _LED3=i/100;
kurton_ing 0:4c714cae8da3 108 _LED4=i/100;
kurton_ing 0:4c714cae8da3 109 wait(0.02*time);
kurton_ing 0:4c714cae8da3 110 }
kurton_ing 0:4c714cae8da3 111 for(float i=67; i<=100; i++){
kurton_ing 0:4c714cae8da3 112 _LED3=i/100;
kurton_ing 0:4c714cae8da3 113 _LED4=i/100;
kurton_ing 0:4c714cae8da3 114 wait(0.01*time);
kurton_ing 0:4c714cae8da3 115 }
kurton_ing 0:4c714cae8da3 116
kurton_ing 0:4c714cae8da3 117 for(float i=100; i>=50; i--){
kurton_ing 0:4c714cae8da3 118 _LED3=i/100;
kurton_ing 0:4c714cae8da3 119 _LED4=i/100;
kurton_ing 0:4c714cae8da3 120 wait(0.015*time);
kurton_ing 0:4c714cae8da3 121 }
kurton_ing 0:4c714cae8da3 122 for(float i=49; i>=0; i--){
kurton_ing 0:4c714cae8da3 123 _LED3=i/100;
kurton_ing 0:4c714cae8da3 124 _LED4=i/100;
kurton_ing 0:4c714cae8da3 125 wait(0.06*time);
kurton_ing 0:4c714cae8da3 126 }
kurton_ing 0:4c714cae8da3 127 _blinker.detach();
kurton_ing 0:4c714cae8da3 128 _LED1=0;
kurton_ing 0:4c714cae8da3 129 }
kurton_ing 0:4c714cae8da3 130
kurton_ing 0:4c714cae8da3 131 int LAMPICE::flash(int n)
kurton_ing 0:4c714cae8da3 132 {
kurton_ing 0:4c714cae8da3 133 _TIPKALO1.mode(PullDown);
kurton_ing 0:4c714cae8da3 134
kurton_ing 0:4c714cae8da3 135 switch(_count){
kurton_ing 0:4c714cae8da3 136 case 0:
kurton_ing 0:4c714cae8da3 137 svjetla1();
kurton_ing 0:4c714cae8da3 138 n=0;
kurton_ing 0:4c714cae8da3 139 break;
kurton_ing 0:4c714cae8da3 140 case 1:
kurton_ing 0:4c714cae8da3 141 svjetla2();
kurton_ing 0:4c714cae8da3 142 n=1;
kurton_ing 0:4c714cae8da3 143 break;
kurton_ing 0:4c714cae8da3 144 case 2:
kurton_ing 0:4c714cae8da3 145 svjetla3();
kurton_ing 0:4c714cae8da3 146 n=2;
kurton_ing 0:4c714cae8da3 147 break;
kurton_ing 0:4c714cae8da3 148 case 3:
kurton_ing 0:4c714cae8da3 149 svjetla4();
kurton_ing 0:4c714cae8da3 150 n=3;
kurton_ing 0:4c714cae8da3 151 break;
kurton_ing 0:4c714cae8da3 152 case 4:
kurton_ing 0:4c714cae8da3 153 svjetla5();
kurton_ing 0:4c714cae8da3 154 n=4;
kurton_ing 0:4c714cae8da3 155 break;
kurton_ing 0:4c714cae8da3 156 case 5:
kurton_ing 0:4c714cae8da3 157 svjetla6();
kurton_ing 0:4c714cae8da3 158 n=5;
kurton_ing 0:4c714cae8da3 159 break;
kurton_ing 0:4c714cae8da3 160
kurton_ing 0:4c714cae8da3 161 }
kurton_ing 0:4c714cae8da3 162
kurton_ing 0:4c714cae8da3 163 if(_count>5){
kurton_ing 0:4c714cae8da3 164 _count=0;
kurton_ing 0:4c714cae8da3 165 }
kurton_ing 0:4c714cae8da3 166 return n;
kurton_ing 0:4c714cae8da3 167 }
kurton_ing 0:4c714cae8da3 168
kurton_ing 0:4c714cae8da3 169 void LAMPICE::button(){
kurton_ing 0:4c714cae8da3 170
kurton_ing 0:4c714cae8da3 171 _count++;
kurton_ing 0:4c714cae8da3 172 }
kurton_ing 0:4c714cae8da3 173
kurton_ing 0:4c714cae8da3 174 void LAMPICE::blink(){
kurton_ing 0:4c714cae8da3 175 _LED1=!_LED1;
kurton_ing 0:4c714cae8da3 176 }
kurton_ing 0:4c714cae8da3 177
kurton_ing 0:4c714cae8da3 178