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.
Dependencies: MPU9150_DMP Neon_F303K8 QuaternionMath iSDIO mbed-rtos mbed
Fork of Neon_F303K8 by
taskLed.cpp
00001 #include "mbed.h" 00002 #include "math.h" 00003 #include "rtos.h" 00004 #include "gpio_defs.h" 00005 #include "configure.h" 00006 00007 00008 // Clock 72MHz 00009 // 0.35us : NOP*25.2 00010 // 0.8us : 57.6 00011 // 0.7us : 50.4 00012 // 0.6us : 43.2 00013 00014 inline void sleep0_35us(void) 00015 { 00016 asm("nop"); 00017 asm("nop"); 00018 asm("nop"); 00019 asm("nop"); 00020 asm("nop"); 00021 asm("nop"); 00022 asm("nop"); 00023 00024 } 00025 inline void sleep0_8us(void) 00026 { 00027 asm("nop"); 00028 asm("nop"); 00029 asm("nop"); 00030 asm("nop"); 00031 asm("nop"); 00032 asm("nop"); 00033 asm("nop"); 00034 asm("nop"); 00035 asm("nop"); 00036 asm("nop"); 00037 asm("nop"); 00038 asm("nop"); 00039 asm("nop"); 00040 asm("nop"); 00041 asm("nop"); 00042 asm("nop"); 00043 asm("nop"); 00044 asm("nop"); 00045 asm("nop"); 00046 asm("nop"); 00047 asm("nop"); 00048 asm("nop"); 00049 asm("nop"); 00050 asm("nop"); 00051 asm("nop"); 00052 asm("nop"); 00053 00054 } 00055 00056 inline void sleep0_7us(void) 00057 { 00058 asm("nop"); 00059 asm("nop"); 00060 asm("nop"); 00061 asm("nop"); 00062 asm("nop"); 00063 asm("nop"); 00064 asm("nop"); 00065 asm("nop"); 00066 asm("nop"); 00067 asm("nop"); 00068 asm("nop"); 00069 asm("nop"); 00070 asm("nop"); 00071 asm("nop"); 00072 asm("nop"); 00073 asm("nop"); 00074 asm("nop"); 00075 asm("nop"); 00076 asm("nop"); 00077 asm("nop"); 00078 asm("nop"); 00079 asm("nop"); 00080 asm("nop"); 00081 asm("nop"); 00082 asm("nop"); 00083 asm("nop"); 00084 asm("nop"); 00085 asm("nop"); 00086 asm("nop"); 00087 asm("nop"); 00088 00089 } 00090 00091 inline void sleep0_6us(void) 00092 { 00093 asm("nop"); 00094 asm("nop"); 00095 asm("nop"); 00096 asm("nop"); 00097 asm("nop"); 00098 asm("nop"); 00099 asm("nop"); 00100 asm("nop"); 00101 asm("nop"); 00102 asm("nop"); 00103 asm("nop"); 00104 asm("nop"); 00105 asm("nop"); 00106 } 00107 00108 inline void led_bit_0(void){ 00109 pinLed = 1; 00110 sleep0_35us(); 00111 pinLed = 0; 00112 sleep0_8us(); 00113 } 00114 00115 inline void led_bit_1(void){ 00116 pinLed = 1; 00117 sleep0_7us(); 00118 pinLed = 0; 00119 sleep0_6us(); 00120 } 00121 00122 00123 void TaskLed(void const *argument) 00124 { 00125 int i; 00126 int j; 00127 int k; 00128 int8_t val = 128; 00129 00130 printf("TaskLed started\r\n"); 00131 00132 while(1){ 00133 00134 00135 for(i=0;i<NUMBER_OF_LEDS;i++){ 00136 for(j=0;j<3;j++){ 00137 for(k=0;k<8;k++){ 00138 if((val >> (7-k)) & 0x01){ 00139 led_bit_1(); 00140 } else { 00141 led_bit_0(); 00142 } 00143 } 00144 } 00145 } 00146 val-=20; 00147 Thread::wait(100); 00148 } 00149 } 00150 /* 00151 * WS2812 tape led IC 00152 * 00153 * 0.35us 0.8us (+-150ns) 00154 * 0: |^^^^^|__________| 00155 * 00156 * 0.7us 0.6us (+-150ns) 00157 * 1: |^^^^^^^^^^|_____| 00158 * 00159 * >50us 00160 * RESET: |________________| 00161 */ 00162
Generated on Sat Jul 16 2022 10:50:32 by
1.7.2
