Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Diff: main.cpp
- Revision:
- 4:9c39770e13e6
- Parent:
- 3:e877a237c329
--- a/main.cpp Thu Jul 16 05:59:32 2020 +0000 +++ b/main.cpp Thu Jul 30 05:57:12 2020 +0000 @@ -5,16 +5,19 @@ #include "mbed.h" #define START_BYTE 0x0f +#define SAMPLING_PERIOD 5000.0f // scale is us #define BYTE_A 2*i #define BYTE_B 2*i+1 uint8_t buffer[8]; -int outputBuffer[12]; + +int outputBuffer[12]; // for setting output 0 or 1 to each Digital int bufferIndex = 0; int outProcCounter = 0; int outProcFlag = 0; Ticker ticker; +Ticker input_test_data; Serial pc(USBTX, USBRX); DigitalOut stateChecker(LED1); DigitalOut startByteError(LED3); @@ -38,12 +41,12 @@ void set_test_buffer(void) { buffer[0] = 31; - buffer[1] = 250; - buffer[2] = 200; - buffer[3] = 150; - buffer[4] = 100; - buffer[5] = 50; - buffer[6] = 10; + buffer[1] = 100; + buffer[2] = 50; + buffer[3] = 10; + buffer[4] = 228; + buffer[5] = 178; + buffer[6] = 138; buffer[7] = 248; } @@ -80,26 +83,26 @@ void PWM_processor(void) { -// for(int i=0; i<6; i++) { -// if((buffer[i+1]==0) || (buffer[i+1]==128)) { -// outputBuffer[BYTE_A] = 0; -// outputBuffer[BYTE_B] = 0; -// continue; -// } -// -// if(buffer[i+1]>128) { -// outputBuffer[BYTE_A] = 0; -// outputBuffer[BYTE_B] = 1; -// } else { -// outputBuffer[BYTE_A] = 1; -// outputBuffer[BYTE_B] = 0; -// } -// -// // decrement -// if (buffer[i+1] > 0) -// buffer[i+1]--; -// } -// set_output(); + for(int i=0; i<6; i++) { + if((buffer[i+1]==0) || (buffer[i+1]==128)) { + outputBuffer[BYTE_A] = 0; + outputBuffer[BYTE_B] = 0; + continue; + } + + if(buffer[i+1]>128) { + outputBuffer[BYTE_A] = 0; + outputBuffer[BYTE_B] = 1; + } else { + outputBuffer[BYTE_A] = 1; + outputBuffer[BYTE_B] = 0; + } + + // decrement + if (buffer[i+1] > 0) + buffer[i+1]--; + } + set_output(); } @@ -109,7 +112,6 @@ // For test bufferIndex = 8; - set_test_buffer(); // for(int i=0; i<8; i++){ // pc.printf("%d:%d ", i, buffer[i]); // } @@ -161,7 +163,8 @@ init_state(); wait(1); pc.printf("+"); - ticker.attach_us(PWM_processor, 500.0f/39.0f); + ticker.attach_us(&PWM_processor, SAMPLING_PERIOD/128.0f); + input_test_data.attach_us(&set_test_buffer, SAMPLING_PERIOD); pc.printf("+"); while(1) { @@ -172,10 +175,10 @@ // } // code for test -// if(test_count%1 == 0) { + if(test_count%1000 == 0) { pc.printf("+"); -// test_count = 0; -// } + test_count = 0; + } // end of code for test }