very rough at the mo

Dependencies:   QT60486 mbed

Committer:
ghostaudio
Date:
Tue Jun 24 10:24:58 2014 +0000
Revision:
0:636856aa3373
very rough at the mo

Who changed what in which revision?

UserRevisionLine numberNew contents of line
ghostaudio 0:636856aa3373 1 #include "mbed.h"
ghostaudio 0:636856aa3373 2 #include "QT60486.h"
ghostaudio 0:636856aa3373 3
ghostaudio 0:636856aa3373 4 #define NUM_KEYS 48
ghostaudio 0:636856aa3373 5
ghostaudio 0:636856aa3373 6 SPI captouch(p5,p6,p7);
ghostaudio 0:636856aa3373 7 DigitalOut qt_cs (p8);
ghostaudio 0:636856aa3373 8 DigitalOut qt_wake (p9);
ghostaudio 0:636856aa3373 9 DigitalIn qt_drdy (p10);
ghostaudio 0:636856aa3373 10 Serial pc(USBTX, USBRX);
ghostaudio 0:636856aa3373 11
ghostaudio 0:636856aa3373 12 uint16_t keydata[NUM_KEYS];
ghostaudio 0:636856aa3373 13 uint16_t * p;
ghostaudio 0:636856aa3373 14
ghostaudio 0:636856aa3373 15 void qt_signalAll(void);
ghostaudio 0:636856aa3373 16
ghostaudio 0:636856aa3373 17 bool qt_proxsetup(void);
ghostaudio 0:636856aa3373 18
ghostaudio 0:636856aa3373 19 bool qt_calAll(void);
ghostaudio 0:636856aa3373 20
ghostaudio 0:636856aa3373 21 void setup() {
ghostaudio 0:636856aa3373 22 pc.baud(38400);
ghostaudio 0:636856aa3373 23 pc.printf("baudset\r\n");
ghostaudio 0:636856aa3373 24 captouch.format(8,3);
ghostaudio 0:636856aa3373 25 pc.printf("formated\r\n");
ghostaudio 0:636856aa3373 26 qt_cs = 1; // set pin high, disables communication
ghostaudio 0:636856aa3373 27 while(qt_proxsetup() == false)
ghostaudio 0:636856aa3373 28 {;;}
ghostaudio 0:636856aa3373 29 pc.printf("setup_done\r\n");
ghostaudio 0:636856aa3373 30 }
ghostaudio 0:636856aa3373 31
ghostaudio 0:636856aa3373 32
ghostaudio 0:636856aa3373 33 int main()
ghostaudio 0:636856aa3373 34 {
ghostaudio 0:636856aa3373 35 setup();
ghostaudio 0:636856aa3373 36
ghostaudio 0:636856aa3373 37 qt_signalAll();
ghostaudio 0:636856aa3373 38
ghostaudio 0:636856aa3373 39 for(uint8_t i = 0; i < NUM_KEYS; i ++)
ghostaudio 0:636856aa3373 40 {
ghostaudio 0:636856aa3373 41 pc.printf("%i\t",keydata[i]);
ghostaudio 0:636856aa3373 42 }
ghostaudio 0:636856aa3373 43 pc.printf("\r\n");
ghostaudio 0:636856aa3373 44
ghostaudio 0:636856aa3373 45 wait(0.001);
ghostaudio 0:636856aa3373 46 }
ghostaudio 0:636856aa3373 47
ghostaudio 0:636856aa3373 48
ghostaudio 0:636856aa3373 49 void qt_signalAll(void)
ghostaudio 0:636856aa3373 50 {
ghostaudio 0:636856aa3373 51 qt_cs = 0;
ghostaudio 0:636856aa3373 52 captouch.write(SIGNAL_ALL);
ghostaudio 0:636856aa3373 53 while(qt_drdy == 0){
ghostaudio 0:636856aa3373 54 for(uint8_t i = 0; i < NUM_KEYS; i ++ ){
ghostaudio 0:636856aa3373 55 keydata[i] = ((captouch.write(0x00) << 8) & captouch.write(0x00));
ghostaudio 0:636856aa3373 56 }
ghostaudio 0:636856aa3373 57 }
ghostaudio 0:636856aa3373 58
ghostaudio 0:636856aa3373 59 };
ghostaudio 0:636856aa3373 60
ghostaudio 0:636856aa3373 61
ghostaudio 0:636856aa3373 62
ghostaudio 0:636856aa3373 63
ghostaudio 0:636856aa3373 64
ghostaudio 0:636856aa3373 65 bool qt_proxsetup(void)
ghostaudio 0:636856aa3373 66 {
ghostaudio 0:636856aa3373 67 //bool ret = false;
ghostaudio 0:636856aa3373 68 //qt_cs = 0;
ghostaudio 0:636856aa3373 69 //uint8_t ret = 0x00;
ghostaudio 0:636856aa3373 70 //while(captouch.write(0x0F) != 0xF0)
ghostaudio 0:636856aa3373 71 // {;;}
ghostaudio 0:636856aa3373 72 //ret = captouch.write(ENTER_SETUP);
ghostaudio 0:636856aa3373 73 //ret = captouch.write(ENTER_SETUP);
ghostaudio 0:636856aa3373 74
ghostaudio 0:636856aa3373 75 //while(captouch.write(0x00) != 0xFE)
ghostaudio 0:636856aa3373 76 // {;;}
ghostaudio 0:636856aa3373 77
ghostaudio 0:636856aa3373 78 // captouch.write(0x00);
ghostaudio 0:636856aa3373 79 // captouch.write(0x00);
ghostaudio 0:636856aa3373 80
ghostaudio 0:636856aa3373 81 // qt_cs = 1;
ghostaudio 0:636856aa3373 82
ghostaudio 0:636856aa3373 83 // wait(0.025);
ghostaudio 0:636856aa3373 84
ghostaudio 0:636856aa3373 85 qt_cs = 0;
ghostaudio 0:636856aa3373 86
ghostaudio 0:636856aa3373 87 //captouch.write(FORCE_RESET);
ghostaudio 0:636856aa3373 88
ghostaudio 0:636856aa3373 89 //while(captouch.write(0x0F) != 0xF0)
ghostaudio 0:636856aa3373 90 // {;;}
ghostaudio 0:636856aa3373 91
ghostaudio 0:636856aa3373 92 while(qt_calAll() == false)
ghostaudio 0:636856aa3373 93 {;;}
ghostaudio 0:636856aa3373 94
ghostaudio 0:636856aa3373 95 pc.printf("caldone\r\n");
ghostaudio 0:636856aa3373 96 captouch.write(REPORT_FIRST);
ghostaudio 0:636856aa3373 97
ghostaudio 0:636856aa3373 98 if (qt_drdy == 0) {
ghostaudio 0:636856aa3373 99 while (qt_drdy == 0)
ghostaudio 0:636856aa3373 100 {;;}
ghostaudio 0:636856aa3373 101 }
ghostaudio 0:636856aa3373 102
ghostaudio 0:636856aa3373 103 if (captouch.write(0x00) != 0x3F)
ghostaudio 0:636856aa3373 104 {qt_calAll();
ghostaudio 0:636856aa3373 105 }
ghostaudio 0:636856aa3373 106 while(qt_calAll() == false)
ghostaudio 0:636856aa3373 107 {;;}
ghostaudio 0:636856aa3373 108
ghostaudio 0:636856aa3373 109 return true;
ghostaudio 0:636856aa3373 110 };
ghostaudio 0:636856aa3373 111
ghostaudio 0:636856aa3373 112
ghostaudio 0:636856aa3373 113 bool qt_calAll(void)
ghostaudio 0:636856aa3373 114 {
ghostaudio 0:636856aa3373 115 pc.printf("calibrating...\r\n");
ghostaudio 0:636856aa3373 116 bool ret = false;
ghostaudio 0:636856aa3373 117 captouch.write(CAL_ALL);
ghostaudio 0:636856aa3373 118 if (qt_drdy == 0) {
ghostaudio 0:636856aa3373 119 while (qt_drdy == 0)
ghostaudio 0:636856aa3373 120 {;;}
ghostaudio 0:636856aa3373 121 }
ghostaudio 0:636856aa3373 122 captouch.write(CAL_ALL);
ghostaudio 0:636856aa3373 123 if (qt_drdy == 0) {
ghostaudio 0:636856aa3373 124 while (qt_drdy == 0)
ghostaudio 0:636856aa3373 125 {;;}
ghostaudio 0:636856aa3373 126 }
ghostaudio 0:636856aa3373 127 pc.printf("comms...\r\n");
ghostaudio 0:636856aa3373 128 while(captouch.write(0x00) != 0xFC)
ghostaudio 0:636856aa3373 129 {;;}
ghostaudio 0:636856aa3373 130
ghostaudio 0:636856aa3373 131 //uint8_t genstat = captouch.write(GENERAL_STATUS);
ghostaudio 0:636856aa3373 132 //ret = !(genstat & 0x04);
ghostaudio 0:636856aa3373 133 ret = true;
ghostaudio 0:636856aa3373 134 pc.printf("ret %i\r\n", ret);
ghostaudio 0:636856aa3373 135 return ret;
ghostaudio 0:636856aa3373 136 }
ghostaudio 0:636856aa3373 137
ghostaudio 0:636856aa3373 138
ghostaudio 0:636856aa3373 139
ghostaudio 0:636856aa3373 140
ghostaudio 0:636856aa3373 141
ghostaudio 0:636856aa3373 142
ghostaudio 0:636856aa3373 143