Chirp Signal Generator

Dependencies:   mbed

Fork of TAU_ZOOLOG_Playback_Rev1_1 by Yossi_Students

Revision:
18:18074899e25b
Parent:
17:c0c17da42990
Child:
19:5a6bf2a0ecf6
--- a/main.cpp	Wed Sep 06 13:15:32 2017 +0000
+++ b/main.cpp	Sun Mar 25 08:47:18 2018 +0000
@@ -13,7 +13,7 @@
 */
 #include "mbed.h"
 #include "chirp.h"
-
+#define PULSE_RATE 10.0f // in HZ
 // Serial over USB as input device
 Serial pc(SERIAL_TX, SERIAL_RX);
 
@@ -67,16 +67,17 @@
     while(true) {
         if (mybutton.read()==0) { // if button pressed, generate pulse out
             led.write(1);
-            wait(0.005);
             // generate chirp out
             for (int ii=0; ii<NUM_SAMPLES; ii++) {
                 // toogle io for loop frequency
                 toggle_state=!toggle_state;
                 outPulse.write(toggle_state);
                 // generate delay for 1MHz Sample rate
-                for (int jj=0; jj<32; jj++) {
+                for (int jj=0; jj<31; jj++) {
                     NOP();
                 }
+                // micro nops :)
+                NOP();
                 NOP();
                 NOP();
                 NOP();
@@ -88,8 +89,13 @@
             // Output value using DAC
             // HAL_DAC_SetValue(&hdac1, DAC_CHANNEL_1, DAC_ALIGN_12B_R, ADCValueOut);
             *(__IO uint32_t *) Dac_Reg = (uint16_t)(4095/2);
+            
+            // generate delay between pulses
             led.write(0);
-            wait(1);
+            // delay post pulse // sets the pulse rate
+            wait(1.0f/(2.0f*PULSE_RATE));
+            led.write(1);
+            wait(1.0f/(2.0f*PULSE_RATE));
         } // end button press
         led.write(0);
     }// end while(True)