tuning

Dependencies:   mbed TextLCD RisetEEPROM_LCD

Committer:
tamamfirdaus
Date:
Mon Mar 18 15:02:10 2019 +0000
Revision:
0:638ec192471f
tuning;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
tamamfirdaus 0:638ec192471f 1 #include "mbed.h"
tamamfirdaus 0:638ec192471f 2 #include "JoystickPS3.h"
tamamfirdaus 0:638ec192471f 3 #include "eeprom.h"
tamamfirdaus 0:638ec192471f 4
tamamfirdaus 0:638ec192471f 5 #define eeprom_SDA PB_3 //Pin SDA
tamamfirdaus 0:638ec192471f 6 #define eeprom_SCL PB_10 //Pin SCL
tamamfirdaus 0:638ec192471f 7 #define EEPROM_ADDR 0x0 //Address EEPROM
tamamfirdaus 0:638ec192471f 8
tamamfirdaus 0:638ec192471f 9 Serial pc(USBTX, USBRX, 115200);
tamamfirdaus 0:638ec192471f 10 joysticknucleo stick(PA_0, PA_1);
tamamfirdaus 0:638ec192471f 11 EEPROM eepromTuning (eeprom_SDA, eeprom_SCL, EEPROM_ADDR, EEPROM::T24C256);
tamamfirdaus 0:638ec192471f 12
tamamfirdaus 0:638ec192471f 13
tamamfirdaus 0:638ec192471f 14 //Variable
tamamfirdaus 0:638ec192471f 15 int32_t eepromData[5]; //Data yang disimpan di eepromTuning
tamamfirdaus 0:638ec192471f 16 int tuningData[5]; //Data tuning
tamamfirdaus 0:638ec192471f 17 int modeEdit;
tamamfirdaus 0:638ec192471f 18
tamamfirdaus 0:638ec192471f 19 void tuningBaca();
tamamfirdaus 0:638ec192471f 20 void updateEEPROM();
tamamfirdaus 0:638ec192471f 21 void showPCEdit();
tamamfirdaus 0:638ec192471f 22 void showPC();
tamamfirdaus 0:638ec192471f 23
tamamfirdaus 0:638ec192471f 24 int main(){
tamamfirdaus 0:638ec192471f 25 stick.setup();
tamamfirdaus 0:638ec192471f 26 stick.idle();
tamamfirdaus 0:638ec192471f 27 //eepromTuning.clear(); //Menghapus data EEPROM
tamamfirdaus 0:638ec192471f 28 modeEdit=0;
tamamfirdaus 0:638ec192471f 29 tuningBaca();
tamamfirdaus 0:638ec192471f 30 while(1){
tamamfirdaus 0:638ec192471f 31 if( (!stick.atas)&&(!stick.bawah)&&(!stick.kanan)&&(!stick.kiri)&&(!stick.L1)&&(!stick.R1)&&(!stick.R2)&&
tamamfirdaus 0:638ec192471f 32 (!stick.lingkaran)&&(!stick.segitiga)&&(!stick.kotak)&&(stick.silang)){
tamamfirdaus 0:638ec192471f 33 modeEdit=!modeEdit;
tamamfirdaus 0:638ec192471f 34 wait(0.1);
tamamfirdaus 0:638ec192471f 35 if(modeEdit==0){
tamamfirdaus 0:638ec192471f 36 int i;
tamamfirdaus 0:638ec192471f 37 for(i=1;i<=4;i++){
tamamfirdaus 0:638ec192471f 38 eepromData[i]=(int32_t) tuningData[i];
tamamfirdaus 0:638ec192471f 39 }
tamamfirdaus 0:638ec192471f 40 updateEEPROM();
tamamfirdaus 0:638ec192471f 41 }
tamamfirdaus 0:638ec192471f 42 }
tamamfirdaus 0:638ec192471f 43
tamamfirdaus 0:638ec192471f 44 if(modeEdit==1){
tamamfirdaus 0:638ec192471f 45 if(stick.readable() ) {
tamamfirdaus 0:638ec192471f 46 stick.baca_data();
tamamfirdaus 0:638ec192471f 47 stick.olah_data();
tamamfirdaus 0:638ec192471f 48 if( (stick.atas)&&(!stick.bawah)&&(!stick.kanan)&&(!stick.kiri)&&(!stick.L1)&&(stick.R1)&&(!stick.R2)&&
tamamfirdaus 0:638ec192471f 49 (!stick.lingkaran)&&(!stick.segitiga)&&(!stick.kotak)&&(!stick.silang)){
tamamfirdaus 0:638ec192471f 50 tuningData[1]+=1;
tamamfirdaus 0:638ec192471f 51 }
tamamfirdaus 0:638ec192471f 52 if( (stick.atas)&&(!stick.bawah)&&(!stick.kanan)&&(!stick.kiri)&&(!stick.L1)&&(!stick.R1)&&(stick.R2)&&
tamamfirdaus 0:638ec192471f 53 (!stick.lingkaran)&&(!stick.segitiga)&&(!stick.kotak)&&(!stick.silang) ){
tamamfirdaus 0:638ec192471f 54 tuningData[1]-=1;
tamamfirdaus 0:638ec192471f 55 }
tamamfirdaus 0:638ec192471f 56 }
tamamfirdaus 0:638ec192471f 57 showPCEdit();
tamamfirdaus 0:638ec192471f 58 }
tamamfirdaus 0:638ec192471f 59 if(modeEdit==0){
tamamfirdaus 0:638ec192471f 60 showPC();
tamamfirdaus 0:638ec192471f 61 }
tamamfirdaus 0:638ec192471f 62 }
tamamfirdaus 0:638ec192471f 63 }
tamamfirdaus 0:638ec192471f 64
tamamfirdaus 0:638ec192471f 65
tamamfirdaus 0:638ec192471f 66
tamamfirdaus 0:638ec192471f 67 void tuningBaca(){
tamamfirdaus 0:638ec192471f 68 int i;
tamamfirdaus 0:638ec192471f 69 for(i=1;i<=4;i++){
tamamfirdaus 0:638ec192471f 70 eepromTuning.read(i, tuningData[i]);
tamamfirdaus 0:638ec192471f 71 }
tamamfirdaus 0:638ec192471f 72 }
tamamfirdaus 0:638ec192471f 73
tamamfirdaus 0:638ec192471f 74 void updateEEPROM(){
tamamfirdaus 0:638ec192471f 75 int i;
tamamfirdaus 0:638ec192471f 76 //eepromTuning.clear();
tamamfirdaus 0:638ec192471f 77 for(i=1;i<=4;i++){
tamamfirdaus 0:638ec192471f 78 eepromTuning.write(i, (int32_t) eepromData[i]);
tamamfirdaus 0:638ec192471f 79 }
tamamfirdaus 0:638ec192471f 80 }
tamamfirdaus 0:638ec192471f 81
tamamfirdaus 0:638ec192471f 82 void showPCEdit(){
tamamfirdaus 0:638ec192471f 83 pc.printf("Data Atas");
tamamfirdaus 0:638ec192471f 84 pc.printf(" %d \n", tuningData[1]);
tamamfirdaus 0:638ec192471f 85 }
tamamfirdaus 0:638ec192471f 86
tamamfirdaus 0:638ec192471f 87 void showPC(){
tamamfirdaus 0:638ec192471f 88 pc.printf("Data Atas");
tamamfirdaus 0:638ec192471f 89 pc.printf(" %d \n", eepromData[1]);
tamamfirdaus 0:638ec192471f 90 }