Ryo Od / Mbed 2 deprecated ExioController_Test

Dependencies:   ExioController MCP23S17 mbed-rtos mbed

Committer:
ryood
Date:
Wed Nov 02 11:01:22 2016 +0000
Revision:
10:72220f282a8d
Parent:
9:01dfe4fe7d21
Child:
11:a057a7a47f6e
???????Keypad???????

Who changed what in which revision?

UserRevisionLine numberNew contents of line
ryood 0:0b1ae70a694b 1 #include "mbed.h"
ryood 0:0b1ae70a694b 2 #include "rtos.h"
ryood 10:72220f282a8d 3
ryood 2:aae9ca66cc87 4 #include "ExioMcp23s17PinDetect.h"
ryood 6:4f9d08f8dfcf 5 #include "ExioMcp23s17RotaryEncoder.h"
ryood 9:01dfe4fe7d21 6 #include "ExioMcp23s17Keypad4x4.h"
ryood 0:0b1ae70a694b 7
ryood 0:0b1ae70a694b 8 SPI Spi(PC_12, PC_11, PC_10); // SPI3: mosi, miso, sclk
ryood 0:0b1ae70a694b 9 //SPI Spi(PA_7, PA_6, PA_5); // SPI1: mosi, miso, sclk
ryood 0:0b1ae70a694b 10
ryood 0:0b1ae70a694b 11 // MExioMcp23s17(int hardwareaddress, SPI& spi, PinName nCs, PinName nReset);
ryood 0:0b1ae70a694b 12 ExioMcp23s17 Exio(0x00, Spi, PD_2, PA_13);
ryood 0:0b1ae70a694b 13
ryood 10:72220f282a8d 14 bool state = false;
ryood 10:72220f282a8d 15 uint8_t count = 0;
ryood 8:5a1b267eae1d 16
ryood 3:3638468099de 17 // トグル動作
ryood 10:72220f282a8d 18 void pa6Falled() {
ryood 10:72220f282a8d 19 state = !state;
ryood 2:aae9ca66cc87 20 }
ryood 2:aae9ca66cc87 21
ryood 10:72220f282a8d 22 // インクリメント
ryood 10:72220f282a8d 23 void pa7Falled() {
ryood 10:72220f282a8d 24 count++;
ryood 2:aae9ca66cc87 25 }
ryood 2:aae9ca66cc87 26
ryood 10:72220f282a8d 27 int main()
ryood 2:aae9ca66cc87 28 {
ryood 10:72220f282a8d 29 //ExioMcp23s17Keypad4x4Test();
ryood 2:aae9ca66cc87 30
ryood 10:72220f282a8d 31 printf("\r\n\n*** ExioMcp23s17Controller test ***\r\n");
ryood 5:69ea7aa2a755 32
ryood 5:69ea7aa2a755 33 Exio.reset();
ryood 5:69ea7aa2a755 34
ryood 10:72220f282a8d 35 // set PORTA[6:7] as inputs
ryood 10:72220f282a8d 36 ExioMcp23s17PinDetect PinA6(Exio, ExioPortA, 6);
ryood 10:72220f282a8d 37 ExioMcp23s17PinDetect PinA7(Exio, ExioPortA, 7);
ryood 5:69ea7aa2a755 38
ryood 10:72220f282a8d 39 // assign callback functions
ryood 10:72220f282a8d 40 PinA6.attach_asserted(&pa6Falled);
ryood 10:72220f282a8d 41 PinA6.setAssertValue(0);
ryood 10:72220f282a8d 42 PinA6.setSampleFrequency();
ryood 5:69ea7aa2a755 43
ryood 10:72220f282a8d 44 PinA7.attach_asserted(&pa7Falled);
ryood 10:72220f282a8d 45 PinA7.setAssertValue(0);
ryood 10:72220f282a8d 46 PinA7.setSampleFrequency();
ryood 6:4f9d08f8dfcf 47
ryood 10:72220f282a8d 48 // set PORTA[0:1], PORTA[2:3] as a Rotary Encoder
ryood 8:5a1b267eae1d 49 // ExioMcp23s17RotaryEncoder(
ryood 8:5a1b267eae1d 50 // ExioMcp23s17& device, ExioPort port, int pin1, int pin2,
ryood 8:5a1b267eae1d 51 // int min = 0, int max = 100, int val = 50
ryood 8:5a1b267eae1d 52 //);
ryood 10:72220f282a8d 53 ExioMcp23s17RotaryEncoder RotEnc1(Exio, ExioPortA, 0, 1, 0, 100, 50);
ryood 10:72220f282a8d 54 RotEnc1.setInterval(500);
ryood 10:72220f282a8d 55 ExioMcp23s17RotaryEncoder RotEnc2(Exio, ExioPortA, 2, 3, 0, 100, 50);
ryood 10:72220f282a8d 56 RotEnc2.setInterval(500);
ryood 10:72220f282a8d 57
ryood 10:72220f282a8d 58 // set PORTB as Keypad 4x4
ryood 10:72220f282a8d 59 //ExioMcp23s17Keypad4x4 keypad(Exio, ExioPortB);
ryood 10:72220f282a8d 60
ryood 6:4f9d08f8dfcf 61 while (true) {
ryood 10:72220f282a8d 62 int reVal1 = RotEnc1.getVal();
ryood 10:72220f282a8d 63 int reVal2 = RotEnc2.getVal();
ryood 10:72220f282a8d 64 printf("state:%d count:%d RE1:%d RE2:%d \r\n", state, count, reVal1, reVal2);
ryood 10:72220f282a8d 65 //Thread::wait(10);
ryood 6:4f9d08f8dfcf 66 }
ryood 6:4f9d08f8dfcf 67 }