tuning
Dependencies: mbed TextLCD RisetEEPROM_LCD
main.cpp
00001 #include "mbed.h" 00002 #include "JoystickPS3.h" 00003 #include "eeprom.h" 00004 00005 #define eeprom_SDA PB_3 //Pin SDA 00006 #define eeprom_SCL PB_10 //Pin SCL 00007 #define EEPROM_ADDR 0x0 //Address EEPROM 00008 00009 Serial pc(USBTX, USBRX, 115200); 00010 joysticknucleo stick(PA_0, PA_1); 00011 EEPROM eepromTuning (eeprom_SDA, eeprom_SCL, EEPROM_ADDR, EEPROM::T24C256); 00012 00013 00014 //Variable 00015 int32_t eepromData[5]; //Data yang disimpan di eepromTuning 00016 int tuningData[5]; //Data tuning 00017 int modeEdit; 00018 00019 void tuningBaca(); 00020 void updateEEPROM(); 00021 void showPCEdit(); 00022 void showPC(); 00023 00024 int main(){ 00025 stick.setup(); 00026 stick.idle(); 00027 //eepromTuning.clear(); //Menghapus data EEPROM 00028 modeEdit=0; 00029 tuningBaca(); 00030 while(1){ 00031 if( (!stick.atas)&&(!stick.bawah)&&(!stick.kanan)&&(!stick.kiri)&&(!stick.L1)&&(!stick.R1)&&(!stick.R2)&& 00032 (!stick.lingkaran)&&(!stick.segitiga)&&(!stick.kotak)&&(stick.silang)){ 00033 modeEdit=!modeEdit; 00034 wait(0.1); 00035 if(modeEdit==0){ 00036 int i; 00037 for(i=1;i<=4;i++){ 00038 eepromData[i]=(int32_t) tuningData[i]; 00039 } 00040 updateEEPROM(); 00041 } 00042 } 00043 00044 if(modeEdit==1){ 00045 if(stick.readable() ) { 00046 stick.baca_data(); 00047 stick.olah_data(); 00048 if( (stick.atas)&&(!stick.bawah)&&(!stick.kanan)&&(!stick.kiri)&&(!stick.L1)&&(stick.R1)&&(!stick.R2)&& 00049 (!stick.lingkaran)&&(!stick.segitiga)&&(!stick.kotak)&&(!stick.silang)){ 00050 tuningData[1]+=1; 00051 } 00052 if( (stick.atas)&&(!stick.bawah)&&(!stick.kanan)&&(!stick.kiri)&&(!stick.L1)&&(!stick.R1)&&(stick.R2)&& 00053 (!stick.lingkaran)&&(!stick.segitiga)&&(!stick.kotak)&&(!stick.silang) ){ 00054 tuningData[1]-=1; 00055 } 00056 } 00057 showPCEdit(); 00058 } 00059 if(modeEdit==0){ 00060 showPC(); 00061 } 00062 } 00063 } 00064 00065 00066 00067 void tuningBaca(){ 00068 int i; 00069 for(i=1;i<=4;i++){ 00070 eepromTuning.read(i, tuningData[i]); 00071 } 00072 } 00073 00074 void updateEEPROM(){ 00075 int i; 00076 //eepromTuning.clear(); 00077 for(i=1;i<=4;i++){ 00078 eepromTuning.write(i, (int32_t) eepromData[i]); 00079 } 00080 } 00081 00082 void showPCEdit(){ 00083 pc.printf("Data Atas"); 00084 pc.printf(" %d \n", tuningData[1]); 00085 } 00086 00087 void showPC(){ 00088 pc.printf("Data Atas"); 00089 pc.printf(" %d \n", eepromData[1]); 00090 }
Generated on Mon Aug 1 2022 00:37:41 by 1.7.2