Emiel Estiévenart
/
QT1070_copy
Schoolproject, Emulates a QT1070 from a touchberry
I2C_QT1070.cpp@0:b7b55b8a4d2b, 2016-11-10 (annotated)
- Committer:
- Perijah
- Date:
- Thu Nov 10 13:28:23 2016 +0000
- Revision:
- 0:b7b55b8a4d2b
- Child:
- 1:f4caacc4df1b
School project,; Emulates a QT1070 from a touchberry
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Perijah | 0:b7b55b8a4d2b | 1 | #include "I2C_QT1070.h" |
Perijah | 0:b7b55b8a4d2b | 2 | |
Perijah | 0:b7b55b8a4d2b | 3 | namespace QT1070touchemulator |
Perijah | 0:b7b55b8a4d2b | 4 | { |
Perijah | 0:b7b55b8a4d2b | 5 | |
Perijah | 0:b7b55b8a4d2b | 6 | I2cQT1070::I2cQT1070(PinName sda, PinName scl, int address, int frequentie):I2CSlave(sda, scl) |
Perijah | 0:b7b55b8a4d2b | 7 | { |
Perijah | 0:b7b55b8a4d2b | 8 | this->address(address); |
Perijah | 0:b7b55b8a4d2b | 9 | int registerAdress = 0; |
Perijah | 0:b7b55b8a4d2b | 10 | frequency(frequentie); |
Perijah | 0:b7b55b8a4d2b | 11 | } |
Perijah | 0:b7b55b8a4d2b | 12 | |
Perijah | 0:b7b55b8a4d2b | 13 | void I2cQT1070::check_for_instruction(void) |
Perijah | 0:b7b55b8a4d2b | 14 | { |
Perijah | 0:b7b55b8a4d2b | 15 | int adressed = receive(); |
Perijah | 0:b7b55b8a4d2b | 16 | int command = 0; |
Perijah | 0:b7b55b8a4d2b | 17 | switch (adressed) { |
Perijah | 0:b7b55b8a4d2b | 18 | case I2CSlave::ReadAddressed: |
Perijah | 0:b7b55b8a4d2b | 19 | printf("Read addressed \r\n"); |
Perijah | 0:b7b55b8a4d2b | 20 | |
Perijah | 0:b7b55b8a4d2b | 21 | send_data_to_master(); |
Perijah | 0:b7b55b8a4d2b | 22 | break; |
Perijah | 0:b7b55b8a4d2b | 23 | |
Perijah | 0:b7b55b8a4d2b | 24 | case I2CSlave::WriteAddressed: |
Perijah | 0:b7b55b8a4d2b | 25 | printf("Write addressed \r\n"); |
Perijah | 0:b7b55b8a4d2b | 26 | // process_instruction(); |
Perijah | 0:b7b55b8a4d2b | 27 | save_register_adress(); |
Perijah | 0:b7b55b8a4d2b | 28 | // command = read(); |
Perijah | 0:b7b55b8a4d2b | 29 | |
Perijah | 0:b7b55b8a4d2b | 30 | break; |
Perijah | 0:b7b55b8a4d2b | 31 | } |
Perijah | 0:b7b55b8a4d2b | 32 | |
Perijah | 0:b7b55b8a4d2b | 33 | } |
Perijah | 0:b7b55b8a4d2b | 34 | |
Perijah | 0:b7b55b8a4d2b | 35 | void I2cQT1070::save_register_adress(){ |
Perijah | 0:b7b55b8a4d2b | 36 | registerAdress = read(); |
Perijah | 0:b7b55b8a4d2b | 37 | printf("This is what the read function goves \r\n"); |
Perijah | 0:b7b55b8a4d2b | 38 | printf("" + registerAdress); |
Perijah | 0:b7b55b8a4d2b | 39 | stop(); |
Perijah | 0:b7b55b8a4d2b | 40 | } |
Perijah | 0:b7b55b8a4d2b | 41 | |
Perijah | 0:b7b55b8a4d2b | 42 | void I2cQT1070::send_data_to_master() |
Perijah | 0:b7b55b8a4d2b | 43 | { |
Perijah | 0:b7b55b8a4d2b | 44 | |
Perijah | 0:b7b55b8a4d2b | 45 | switch(registerAdress) { |
Perijah | 0:b7b55b8a4d2b | 46 | |
Perijah | 0:b7b55b8a4d2b | 47 | |
Perijah | 0:b7b55b8a4d2b | 48 | case CHIP_ID: { |
Perijah | 0:b7b55b8a4d2b | 49 | printf("received CHIP_ID command \r\n"); |
Perijah | 0:b7b55b8a4d2b | 50 | char value[1]; |
Perijah | 0:b7b55b8a4d2b | 51 | value[0] = Qt1070Chip.getChipID(); |
Perijah | 0:b7b55b8a4d2b | 52 | write(value, 1); |
Perijah | 0:b7b55b8a4d2b | 53 | |
Perijah | 0:b7b55b8a4d2b | 54 | break; |
Perijah | 0:b7b55b8a4d2b | 55 | } |
Perijah | 0:b7b55b8a4d2b | 56 | |
Perijah | 0:b7b55b8a4d2b | 57 | case FIRMWARE: { |
Perijah | 0:b7b55b8a4d2b | 58 | printf("received FIRMWARE command \r\n"); |
Perijah | 0:b7b55b8a4d2b | 59 | char value2[1]; |
Perijah | 0:b7b55b8a4d2b | 60 | value2[0] = Qt1070Chip.getFirmware(); |
Perijah | 0:b7b55b8a4d2b | 61 | write(value2, 1); |
Perijah | 0:b7b55b8a4d2b | 62 | break; |
Perijah | 0:b7b55b8a4d2b | 63 | } |
Perijah | 0:b7b55b8a4d2b | 64 | case KEY_STATUS: { |
Perijah | 0:b7b55b8a4d2b | 65 | printf("received KEY_STATUS command \r\n"); |
Perijah | 0:b7b55b8a4d2b | 66 | char value3[1]; |
Perijah | 0:b7b55b8a4d2b | 67 | value3[0] = Qt1070Chip.getKeystate(); |
Perijah | 0:b7b55b8a4d2b | 68 | write(value3, 1); |
Perijah | 0:b7b55b8a4d2b | 69 | break; |
Perijah | 0:b7b55b8a4d2b | 70 | } |
Perijah | 0:b7b55b8a4d2b | 71 | case RESET: { |
Perijah | 0:b7b55b8a4d2b | 72 | printf("recieved WRITE_DATA command \r\n"); |
Perijah | 0:b7b55b8a4d2b | 73 | break; |
Perijah | 0:b7b55b8a4d2b | 74 | } |
Perijah | 0:b7b55b8a4d2b | 75 | |
Perijah | 0:b7b55b8a4d2b | 76 | default: { |
Perijah | 0:b7b55b8a4d2b | 77 | printf("unknown command\n\r"); |
Perijah | 0:b7b55b8a4d2b | 78 | } |
Perijah | 0:b7b55b8a4d2b | 79 | } |
Perijah | 0:b7b55b8a4d2b | 80 | |
Perijah | 0:b7b55b8a4d2b | 81 | } |
Perijah | 0:b7b55b8a4d2b | 82 | |
Perijah | 0:b7b55b8a4d2b | 83 | |
Perijah | 0:b7b55b8a4d2b | 84 | |
Perijah | 0:b7b55b8a4d2b | 85 | }; |