tuning
Dependencies: mbed TextLCD RisetEEPROM_LCD
main.cpp@0:638ec192471f, 2019-03-18 (annotated)
- Committer:
- tamamfirdaus
- Date:
- Mon Mar 18 15:02:10 2019 +0000
- Revision:
- 0:638ec192471f
tuning;
Who changed what in which revision?
User | Revision | Line number | New 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 | } |