This is an example program that actually allows the car to race using the FRDM-TFC library!
Fork of TFC-RACING-DEMO by
main.cpp
00001 #include "mbed.h" 00002 #include "TFC.h" 00003 00004 #include "common.h" 00005 #include "Spices.h" 00006 00007 00008 void TFC_TickerUpdate() 00009 { 00010 int i; 00011 00012 for(i=0; i<NUM_TFC_TICKERS; i++) 00013 { 00014 if(TFC_Ticker[i]<0xFFFFFFFF) 00015 { 00016 TFC_Ticker[i]++; 00017 } 00018 } 00019 } 00020 00021 void DemoProgram() 00022 { 00023 uint32_t i,j,t = 0; 00024 // float ReadPot0, ReadPot1; 00025 00026 //Labview Application 00027 //note that there are some issues 00028 if(TFC_Ticker[0]>1000 && TFC_LineScanImageReady>0) // every 2s ... 00029 { 00030 TFC_Ticker[0] = 0; 00031 TFC_LineScanImageReady=0; // must reset to 0 after detecting non-zero 00032 00033 if(t==0) 00034 t=4; 00035 else 00036 t--; 00037 00038 TFC_SetBatteryLED_Level(t); 00039 00040 for(i=0;i<8;i++) // print one line worth of data (128) from Camera 0 00041 { 00042 for(j=0;j<16;j++) 00043 { 00044 00045 TERMINAL_PRINTF("0x%X",TFC_LineScanImage0[(i*16)+j]); 00046 00047 if((i==7) && (j==15)) // when last data reached put in line return 00048 TERMINAL_PRINTF("\r\n",TFC_LineScanImage0[(i*16)+j]); 00049 else 00050 TERMINAL_PRINTF(",",TFC_LineScanImage0[(i*16)+j]); 00051 00052 } 00053 wait_ms(10); 00054 } 00055 }} 00056 00057 00058 int main() 00059 { 00060 // TERMINAL TYPE 00061 PC.baud(115200); // works with Excel and TeraTerm 00062 //PC.baud(9600); // works with USB Serial Monitor Lite: https://play.google.com/store/apps/details?id=jp.ksksue.app.terminal; doesn't work > 9600 00063 TFC_TickerObj.attach_us(&TFC_TickerUpdate,2000); // update ticker array every 2mS (2000 uS) 00064 00065 TFC_Init(); 00066 00067 for(;;) 00068 { 00069 //TFC_Task must be called in your main loop. This keeps certain processing happy (I.E. Serial port queue check) 00070 // TFC_Task(); 00071 00072 00073 // If DIP switch 1 is high, then run MCP, else Demo program 00074 if(TFC_GetDIP_Switch()&0x01) 00075 // Run MCP 00076 MasterControlProgram(); 00077 else 00078 // Run Demo Program 00079 DemoProgram(); 00080 00081 } // end of infinite for loop 00082 00083 00084 } 00085
Generated on Sat Jul 23 2022 09:49:35 by 1.7.2