tuning

Dependencies:   mbed TextLCD RisetEEPROM_LCD

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

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 }