Thomas Van Aken
/
bartho
test
main.cpp@3:0e37515b92f1, 2021-02-08 (annotated)
- Committer:
- TVA
- Date:
- Mon Feb 08 20:59:53 2021 +0000
- Revision:
- 3:0e37515b92f1
- Parent:
- 2:8fd249f35ceb
- Child:
- 4:40d23f4295f9
Working!!!!
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
TVA | 0:8491d8911089 | 1 | /* mbed Microcontroller Library |
TVA | 0:8491d8911089 | 2 | * Copyright (c) 2019 ARM Limited |
TVA | 0:8491d8911089 | 3 | * SPDX-License-Identifier: Apache-2.0 |
TVA | 0:8491d8911089 | 4 | */ |
TVA | 0:8491d8911089 | 5 | |
TVA | 0:8491d8911089 | 6 | #include "mbed.h" |
TVA | 0:8491d8911089 | 7 | #include "platform/mbed_thread.h" |
TVA | 0:8491d8911089 | 8 | |
TVA | 0:8491d8911089 | 9 | |
TVA | 0:8491d8911089 | 10 | // Blinking rate in milliseconds |
TVA | 0:8491d8911089 | 11 | #define BLINKING_RATE_MS 500 |
TVA | 0:8491d8911089 | 12 | |
TVA | 0:8491d8911089 | 13 | #define RST_PIN P5_6 |
TVA | 0:8491d8911089 | 14 | #define MFIO_PIN P5_4 |
TVA | 0:8491d8911089 | 15 | |
TVA | 0:8491d8911089 | 16 | I2C i2c(P3_4, P3_5); |
TVA | 0:8491d8911089 | 17 | |
TVA | 2:8fd249f35ceb | 18 | const int addr = 0xAA;//0x55; |
TVA | 0:8491d8911089 | 19 | |
TVA | 0:8491d8911089 | 20 | int main() |
TVA | 0:8491d8911089 | 21 | { |
TVA | 0:8491d8911089 | 22 | i2c.frequency(400000); |
TVA | 0:8491d8911089 | 23 | char cmd[4]; |
TVA | 1:397813654863 | 24 | |
TVA | 0:8491d8911089 | 25 | // Initialise the digital pin LED1 as an output |
TVA | 0:8491d8911089 | 26 | DigitalOut led(LED1); |
TVA | 0:8491d8911089 | 27 | DigitalOut rst(RST_PIN); |
TVA | 0:8491d8911089 | 28 | DigitalOut mfio(MFIO_PIN); |
TVA | 0:8491d8911089 | 29 | |
TVA | 2:8fd249f35ceb | 30 | mfio = 0; |
TVA | 0:8491d8911089 | 31 | rst = 1; |
TVA | 0:8491d8911089 | 32 | thread_sleep_for(10); |
TVA | 0:8491d8911089 | 33 | rst = 0; |
TVA | 0:8491d8911089 | 34 | thread_sleep_for(10); |
TVA | 0:8491d8911089 | 35 | rst = 1; |
TVA | 2:8fd249f35ceb | 36 | //thread_sleep_for(1500); |
TVA | 2:8fd249f35ceb | 37 | thread_sleep_for(100); |
TVA | 2:8fd249f35ceb | 38 | |
TVA | 2:8fd249f35ceb | 39 | //scanI2C(); |
TVA | 0:8491d8911089 | 40 | |
TVA | 0:8491d8911089 | 41 | while (true) { |
TVA | 0:8491d8911089 | 42 | cmd[0] = 0x02; |
TVA | 0:8491d8911089 | 43 | cmd[1] = 0x00; |
TVA | 0:8491d8911089 | 44 | i2c.write(addr, cmd, 2); |
TVA | 0:8491d8911089 | 45 | thread_sleep_for(2); |
TVA | 0:8491d8911089 | 46 | |
TVA | 0:8491d8911089 | 47 | cmd[0] = 0x00; |
TVA | 0:8491d8911089 | 48 | cmd[1] = 0x00; |
TVA | 0:8491d8911089 | 49 | i2c.read(addr, cmd, 2); |
TVA | 0:8491d8911089 | 50 | printf("1: %x %x\n", cmd[0], cmd[1]); |
TVA | 0:8491d8911089 | 51 | |
TVA | 0:8491d8911089 | 52 | |
TVA | 2:8fd249f35ceb | 53 | |
TVA | 2:8fd249f35ceb | 54 | |
TVA | 2:8fd249f35ceb | 55 | |
TVA | 2:8fd249f35ceb | 56 | |
TVA | 2:8fd249f35ceb | 57 | cmd[0] = 0x01; |
TVA | 2:8fd249f35ceb | 58 | cmd[1] = 0x00; |
TVA | 2:8fd249f35ceb | 59 | cmd[2] = 0x00; |
TVA | 3:0e37515b92f1 | 60 | i2c.write(addr, cmd, 3); |
TVA | 2:8fd249f35ceb | 61 | thread_sleep_for(1500); |
TVA | 2:8fd249f35ceb | 62 | |
TVA | 2:8fd249f35ceb | 63 | |
TVA | 2:8fd249f35ceb | 64 | |
TVA | 2:8fd249f35ceb | 65 | mfio = 0; |
TVA | 2:8fd249f35ceb | 66 | thread_sleep_for(1); |
TVA | 2:8fd249f35ceb | 67 | |
TVA | 2:8fd249f35ceb | 68 | |
TVA | 2:8fd249f35ceb | 69 | |
TVA | 2:8fd249f35ceb | 70 | |
TVA | 2:8fd249f35ceb | 71 | |
TVA | 2:8fd249f35ceb | 72 | cmd[0] = 0x02; |
TVA | 2:8fd249f35ceb | 73 | cmd[1] = 0x00; |
TVA | 2:8fd249f35ceb | 74 | i2c.write(addr, cmd, 2); |
TVA | 2:8fd249f35ceb | 75 | thread_sleep_for(2); |
TVA | 2:8fd249f35ceb | 76 | |
TVA | 2:8fd249f35ceb | 77 | cmd[0] = 0x00; |
TVA | 2:8fd249f35ceb | 78 | cmd[1] = 0x00; |
TVA | 2:8fd249f35ceb | 79 | i2c.read(addr, cmd, 2); |
TVA | 2:8fd249f35ceb | 80 | printf("2: %x %x\n", cmd[0], cmd[1]); |
TVA | 2:8fd249f35ceb | 81 | |
TVA | 2:8fd249f35ceb | 82 | |
TVA | 2:8fd249f35ceb | 83 | |
TVA | 2:8fd249f35ceb | 84 | |
TVA | 2:8fd249f35ceb | 85 | |
TVA | 0:8491d8911089 | 86 | cmd[0] = 0xFF; |
TVA | 0:8491d8911089 | 87 | cmd[1] = 0x03; |
TVA | 0:8491d8911089 | 88 | i2c.write(addr, cmd, 2); |
TVA | 0:8491d8911089 | 89 | thread_sleep_for(2); |
TVA | 0:8491d8911089 | 90 | |
TVA | 0:8491d8911089 | 91 | cmd[0] = 0x00; |
TVA | 0:8491d8911089 | 92 | cmd[1] = 0x00; |
TVA | 0:8491d8911089 | 93 | cmd[2] = 0x00; |
TVA | 0:8491d8911089 | 94 | cmd[3] = 0x00; |
TVA | 0:8491d8911089 | 95 | i2c.read(addr, cmd, 4); |
TVA | 2:8fd249f35ceb | 96 | printf("3: %d %d %d %d\n", cmd[0], cmd[1], cmd[2], cmd[3]); |
TVA | 3:0e37515b92f1 | 97 | |
TVA | 3:0e37515b92f1 | 98 | |
TVA | 3:0e37515b92f1 | 99 | |
TVA | 3:0e37515b92f1 | 100 | |
TVA | 3:0e37515b92f1 | 101 | cmd[0] = 0x10; |
TVA | 3:0e37515b92f1 | 102 | cmd[1] = 0x00; |
TVA | 3:0e37515b92f1 | 103 | cmd[2] = 0x03; |
TVA | 3:0e37515b92f1 | 104 | |
TVA | 3:0e37515b92f1 | 105 | i2c.write(addr, cmd, 3); |
TVA | 3:0e37515b92f1 | 106 | thread_sleep_for(2); |
TVA | 3:0e37515b92f1 | 107 | |
TVA | 3:0e37515b92f1 | 108 | cmd[0] = 0x00; |
TVA | 3:0e37515b92f1 | 109 | cmd[1] = 0x00; |
TVA | 3:0e37515b92f1 | 110 | i2c.read(addr, cmd, 2); |
TVA | 3:0e37515b92f1 | 111 | printf("4: %d %d\n", cmd[0] , cmd[1]); |
TVA | 3:0e37515b92f1 | 112 | |
TVA | 3:0e37515b92f1 | 113 | |
TVA | 3:0e37515b92f1 | 114 | |
TVA | 3:0e37515b92f1 | 115 | |
TVA | 3:0e37515b92f1 | 116 | |
TVA | 3:0e37515b92f1 | 117 | |
TVA | 3:0e37515b92f1 | 118 | cmd[0] = 0x10; |
TVA | 3:0e37515b92f1 | 119 | cmd[1] = 0x01; |
TVA | 3:0e37515b92f1 | 120 | cmd[2] = 0x01; |
TVA | 3:0e37515b92f1 | 121 | |
TVA | 3:0e37515b92f1 | 122 | i2c.write(addr, cmd, 3); |
TVA | 3:0e37515b92f1 | 123 | thread_sleep_for(2); |
TVA | 3:0e37515b92f1 | 124 | |
TVA | 3:0e37515b92f1 | 125 | cmd[0] = 0x00; |
TVA | 3:0e37515b92f1 | 126 | cmd[1] = 0x00; |
TVA | 3:0e37515b92f1 | 127 | i2c.read(addr, cmd, 2); |
TVA | 3:0e37515b92f1 | 128 | printf("5: %d %d\n", cmd[0], cmd[1]); |
TVA | 3:0e37515b92f1 | 129 | |
TVA | 3:0e37515b92f1 | 130 | |
TVA | 3:0e37515b92f1 | 131 | |
TVA | 3:0e37515b92f1 | 132 | |
TVA | 3:0e37515b92f1 | 133 | |
TVA | 3:0e37515b92f1 | 134 | |
TVA | 3:0e37515b92f1 | 135 | cmd[0] = 0x10; |
TVA | 3:0e37515b92f1 | 136 | cmd[1] = 0x02; |
TVA | 3:0e37515b92f1 | 137 | cmd[2] = 0x01; |
TVA | 3:0e37515b92f1 | 138 | |
TVA | 3:0e37515b92f1 | 139 | i2c.write(addr, cmd, 3); |
TVA | 3:0e37515b92f1 | 140 | thread_sleep_for(2); |
TVA | 3:0e37515b92f1 | 141 | |
TVA | 3:0e37515b92f1 | 142 | cmd[0] = 0x00; |
TVA | 3:0e37515b92f1 | 143 | cmd[1] = 0x00; |
TVA | 3:0e37515b92f1 | 144 | i2c.read(addr, cmd, 2); |
TVA | 3:0e37515b92f1 | 145 | printf("6: %d %d\n", cmd[0], cmd[1]); |
TVA | 3:0e37515b92f1 | 146 | |
TVA | 3:0e37515b92f1 | 147 | |
TVA | 3:0e37515b92f1 | 148 | |
TVA | 3:0e37515b92f1 | 149 | |
TVA | 3:0e37515b92f1 | 150 | |
TVA | 3:0e37515b92f1 | 151 | |
TVA | 3:0e37515b92f1 | 152 | cmd[0] = 0x44; |
TVA | 3:0e37515b92f1 | 153 | cmd[1] = 0x04; |
TVA | 3:0e37515b92f1 | 154 | cmd[2] = 0x01; |
TVA | 3:0e37515b92f1 | 155 | cmd[3] = 0x01; |
TVA | 3:0e37515b92f1 | 156 | |
TVA | 3:0e37515b92f1 | 157 | i2c.write(addr, cmd, 4); |
TVA | 3:0e37515b92f1 | 158 | thread_sleep_for(20); |
TVA | 3:0e37515b92f1 | 159 | |
TVA | 3:0e37515b92f1 | 160 | cmd[0] = 0x00; |
TVA | 3:0e37515b92f1 | 161 | cmd[1] = 0x00; |
TVA | 3:0e37515b92f1 | 162 | i2c.read(addr, cmd, 2); |
TVA | 3:0e37515b92f1 | 163 | printf("7: %d %d\n", cmd[0], cmd[1]); |
TVA | 3:0e37515b92f1 | 164 | |
TVA | 3:0e37515b92f1 | 165 | |
TVA | 3:0e37515b92f1 | 166 | |
TVA | 3:0e37515b92f1 | 167 | |
TVA | 3:0e37515b92f1 | 168 | |
TVA | 3:0e37515b92f1 | 169 | cmd[0] = 0x41; |
TVA | 3:0e37515b92f1 | 170 | cmd[1] = 0x04; |
TVA | 3:0e37515b92f1 | 171 | cmd[2] = 0x0F; |
TVA | 3:0e37515b92f1 | 172 | |
TVA | 3:0e37515b92f1 | 173 | i2c.write(addr, cmd, 3); |
TVA | 3:0e37515b92f1 | 174 | thread_sleep_for(2); |
TVA | 3:0e37515b92f1 | 175 | |
TVA | 3:0e37515b92f1 | 176 | cmd[0] = 0x00; |
TVA | 3:0e37515b92f1 | 177 | cmd[1] = 0x00; |
TVA | 3:0e37515b92f1 | 178 | i2c.read(addr, cmd, 2); |
TVA | 3:0e37515b92f1 | 179 | printf("8: %d %d\n", cmd[0], cmd[1]); |
TVA | 3:0e37515b92f1 | 180 | |
TVA | 3:0e37515b92f1 | 181 | |
TVA | 3:0e37515b92f1 | 182 | |
TVA | 3:0e37515b92f1 | 183 | |
TVA | 3:0e37515b92f1 | 184 | |
TVA | 0:8491d8911089 | 185 | |
TVA | 0:8491d8911089 | 186 | /*rst =! rst; |
TVA | 0:8491d8911089 | 187 | mfio =! mfio;*/ |
TVA | 0:8491d8911089 | 188 | thread_sleep_for(BLINKING_RATE_MS); |
TVA | 0:8491d8911089 | 189 | led = !led; |
TVA | 0:8491d8911089 | 190 | } |
TVA | 0:8491d8911089 | 191 | } |