J&W / Mbed OS frdm_LED_PWM

Dependencies:   tsi_sensor MMA8451Q

Committer:
Pythia
Date:
Sun Jun 07 19:50:51 2020 +0000
Revision:
0:225e4447fdd3
Child:
1:1e448c750b63
LED PWM on FRDM with no usage of the mBed PWM

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Pythia 0:225e4447fdd3 1 #include "mbed.h"
Pythia 0:225e4447fdd3 2 #include "LED_line.h"
Pythia 0:225e4447fdd3 3
Pythia 0:225e4447fdd3 4 enum sensor {SENSOR_ON=1, SENSOR_OFF=0} s0=SENSOR_OFF, s1=SENSOR_OFF, s2=SENSOR_OFF;
Pythia 0:225e4447fdd3 5
Pythia 0:225e4447fdd3 6 int main(void)
Pythia 0:225e4447fdd3 7 {
Pythia 0:225e4447fdd3 8 DigitalIn sens_0(PTC1);
Pythia 0:225e4447fdd3 9 DigitalIn sens_1(PTC2);
Pythia 0:225e4447fdd3 10 DigitalIn sens_2(PTB3);
Pythia 0:225e4447fdd3 11
Pythia 0:225e4447fdd3 12 LED_line l1 (PTB0, L_LED_OFF, L_LED_ON, L_CYCLE, false);
Pythia 0:225e4447fdd3 13 LED_line l2 (PTB1, L_LED_OFF, L_LED_ON, L_CYCLE, true);
Pythia 0:225e4447fdd3 14
Pythia 0:225e4447fdd3 15 LED_line led_green(LED_GREEN, L_LED_OFF, L_LED_ON, L_CYCLE, false);
Pythia 0:225e4447fdd3 16 LED_line led_red(LED_RED, L_LED_OFF, L_LED_ON, L_CYCLE, true);
Pythia 0:225e4447fdd3 17 LED_line led_blue(LED_BLUE, L_LED_OFF, L_LED_ON, L_CYCLE, false);
Pythia 0:225e4447fdd3 18
Pythia 0:225e4447fdd3 19 printf("\nStart\n");
Pythia 0:225e4447fdd3 20
Pythia 0:225e4447fdd3 21 // unsigned long int c=0, l=0;
Pythia 0:225e4447fdd3 22
Pythia 0:225e4447fdd3 23 while (true)
Pythia 0:225e4447fdd3 24 {
Pythia 0:225e4447fdd3 25 // c++;
Pythia 0:225e4447fdd3 26 // if (c >= L_CYCLE)
Pythia 0:225e4447fdd3 27 // {
Pythia 0:225e4447fdd3 28 // c = 0;
Pythia 0:225e4447fdd3 29 // l += RAMP_SLOPE;
Pythia 0:225e4447fdd3 30 // if (l >= L_CYCLE) l = 0;
Pythia 0:225e4447fdd3 31 // }
Pythia 0:225e4447fdd3 32
Pythia 0:225e4447fdd3 33 s0 = (sens_0 == 1) ? SENSOR_ON : SENSOR_OFF;
Pythia 0:225e4447fdd3 34 s1 = (sens_1 == 1) ? SENSOR_ON : SENSOR_OFF;
Pythia 0:225e4447fdd3 35 s2 = (sens_2 == 1) ? SENSOR_ON : SENSOR_OFF;
Pythia 0:225e4447fdd3 36
Pythia 0:225e4447fdd3 37 // l1.level(l);
Pythia 0:225e4447fdd3 38 // l2.level(l);
Pythia 0:225e4447fdd3 39
Pythia 0:225e4447fdd3 40 // led_red.level(l);
Pythia 0:225e4447fdd3 41 // led_green.level(l);
Pythia 0:225e4447fdd3 42 // led_blue.level(l);
Pythia 0:225e4447fdd3 43
Pythia 0:225e4447fdd3 44 l1.LED_run();
Pythia 0:225e4447fdd3 45 l2.LED_run();
Pythia 0:225e4447fdd3 46
Pythia 0:225e4447fdd3 47 led_green.LED_run();
Pythia 0:225e4447fdd3 48 led_red.LED_run();
Pythia 0:225e4447fdd3 49 led_blue.LED_run();
Pythia 0:225e4447fdd3 50
Pythia 0:225e4447fdd3 51 if (s0 == SENSOR_ON)
Pythia 0:225e4447fdd3 52 {
Pythia 0:225e4447fdd3 53 led_green.light();
Pythia 0:225e4447fdd3 54 l1.light();
Pythia 0:225e4447fdd3 55 }
Pythia 0:225e4447fdd3 56 if (s1 == SENSOR_ON)
Pythia 0:225e4447fdd3 57 {
Pythia 0:225e4447fdd3 58 led_red.light();
Pythia 0:225e4447fdd3 59 l1.light();
Pythia 0:225e4447fdd3 60 l2.light();
Pythia 0:225e4447fdd3 61 }
Pythia 0:225e4447fdd3 62 if (s2 == SENSOR_ON)
Pythia 0:225e4447fdd3 63 {
Pythia 0:225e4447fdd3 64 led_blue.light();
Pythia 0:225e4447fdd3 65 l2.light();
Pythia 0:225e4447fdd3 66 }
Pythia 0:225e4447fdd3 67 }
Pythia 0:225e4447fdd3 68 }