Iztech Fork
Fork of A2_Interface3_V_0_0 by
Embed:
(wiki syntax)
Show/hide line numbers
main.cpp
00001 /* 00002 Programmer: Roger McArdell 00003 Date: 01/08/2017 00004 Version 00005 V0.1 First version 00006 00007 */ 00008 #include <string> 00009 #include "mbed.h" 00010 #include "Pins.h" 00011 #include "Matrix.h" 00012 #include "BoardComms.h" 00013 #include "Timers.h" 00014 00015 00016 // Prototypes 00017 void CEC0InteruptRoutine(); 00018 void CEC1InteruptRoutine(); 00019 void CEC2InteruptRoutine(); 00020 void CEC3InteruptRoutine(); 00021 void HDBaseTInterruptRoutine(); 00022 void CheckButtons(); 00023 void Button1Down(); 00024 void Button2Down(); 00025 void Button3Down(); 00026 void Button4Down(); 00027 void Setup(); 00028 00029 DigitalOut CECReset0(P0_12, 1); 00030 00031 int main() 00032 { 00033 Setup(); 00034 00035 printf("Program Started\r\n"); 00036 while(1) 00037 { 00038 TimeLoop(); 00039 if (pc.readable()) 00040 CheckForData(); 00041 if (CEC0INTFlag || CEC1INTFlag || CEC2INTFlag || CEC3INTFlag) 00042 CheckButtons(); 00043 if (aboxPort.readable()) 00044 CheckaboxData(); 00045 } 00046 } 00047 void Setup() 00048 { 00049 CECBoot0 = 1; 00050 CECBoot1 = 1; 00051 CECBoot2 = 1; 00052 CECBoot3 = 1; 00053 //CECReset0 = 1; 00054 CECReset1 = 1; 00055 CECReset2 = 1; 00056 CECReset3 = 1; 00057 aboxPort.baud(9600); 00058 AUXPort.baud(9600); 00059 TimeLoopSetup(); 00060 // Attach Interrupts 00061 HDBaseTINT.rise(&HDBaseTInterruptRoutine); 00062 CECINT0.rise(&CEC0InteruptRoutine); 00063 CECINT1.rise(&CEC1InteruptRoutine); 00064 CECINT2.rise(&CEC2InteruptRoutine); 00065 CECINT3.rise(&CEC3InteruptRoutine); 00066 } 00067 00068 void CEC0InteruptRoutine() {CEC0INTFlag = 1;} 00069 void CEC1InteruptRoutine() {CEC1INTFlag = 1;} 00070 void CEC2InteruptRoutine() {CEC2INTFlag = 1;} 00071 void CEC3InteruptRoutine() {CEC3INTFlag = 1;} 00072 void HDBaseTInterruptRoutine() 00073 { 00074 00075 } 00076 void CheckButtons() 00077 { 00078 if (CEC0INTFlag) 00079 { 00080 CEC0INTFlag = 0; 00081 Button1Down(); 00082 } 00083 if (CEC1INTFlag) 00084 { 00085 CEC1INTFlag = 0; 00086 Button2Down(); 00087 } 00088 if (CEC2INTFlag) 00089 { 00090 CEC2INTFlag = 0; 00091 Button3Down(); 00092 } 00093 if (CEC3INTFlag) 00094 { 00095 CEC3INTFlag = 0; 00096 Button4Down(); 00097 } 00098 } 00099 void Button1Down() 00100 { 00101 aboxPort.printf("BUT 011\n"); 00102 } 00103 void Button2Down() 00104 { 00105 aboxPort.printf("BUT 021\n"); 00106 } 00107 void Button3Down() 00108 { 00109 aboxPort.printf("BUT 031\n"); 00110 } 00111 void Button4Down() 00112 { 00113 aboxPort.printf("BUT 041\n"); 00114 } 00115 00116
Generated on Tue Aug 2 2022 20:48:37 by
1.7.2
