LEX_Threaded_Programming

Dependencies:   Heater_V2 MODSERIAL Nanopb FastPWM ADS8568_ADC

Revision:
12:cadcea541fbf
Parent:
11:7394f281e845
Child:
13:b2e00297b465
--- a/main.cpp	Tue Sep 17 16:57:36 2019 +0000
+++ b/main.cpp	Tue Sep 17 17:17:47 2019 +0000
@@ -11,8 +11,8 @@
 #include <iterator>
 
 #define BUFFER_SIZE 4096
-#define LED_PULSE_PERIOD 8400    // ticks, 10kHz when CPU clock is 84MHz
-#define LED_PULSE_WIDTH 4200     // ticks, 50% duty cycle
+#define LED_PULSE_PERIOD 1000    // ticks, 84kHz when CPU clock is 84MHz
+#define LED_PULSE_WIDTH   100    // ticks, 10% duty cycle
 
 Heater * heater;
 float r_gradient; //setpoint setting
@@ -60,7 +60,7 @@
 
 //Camera and LED drive
 DigitalOut camTrigger(PB_2);     //Trigger camera
-FastPWM ledDrive(PB_4);          //PWM drive LED for fluorescence detection
+DigitalOut ledDrive(PB_4);       //Drive LED for fluorescence detection
 
 //User buttons
 DigitalIn user_0(PB_0);
@@ -221,7 +221,8 @@
                 wait_us(10);
                 camTrigger = 1;
                 led_0 = 1;
- //               ledDrive.pulsewidth_ticks(LED_PULSE_WIDTH);
+                ledDrive = 1;
+//                ledDrive.pulsewidth_ticks(LED_PULSE_WIDTH);
                 triggered_flag = true;
             }
             wait_us(200);
@@ -230,6 +231,7 @@
         camTrigger = 0;
  //       ledDrive.pulsewidth_ticks(0);
         led_0 = 0;
+        ledDrive = 0;
     }
 }   
 
@@ -243,9 +245,9 @@
     pc.printf("# Input configuration file\n");
 
     //set up LED PWM drive
-    ledDrive.prescaler(1);
-    ledDrive.period_ticks(LED_PULSE_PERIOD);   
-    ledDrive.pulsewidth_ticks(0);
+//    ledDrive.prescaler(1);
+//    ledDrive.period_ticks(LED_PULSE_PERIOD);   
+//    ledDrive.pulsewidth_ticks(0);
         
     //set up nanopb
     std::vector<memspcr_ThermalStep> profile;