Buffered Test
Dependencies: ExioBufferdController MCP23S17 mbed-rtos mbed
Diff: main.cpp
- Revision:
- 6:9acaeb5465d2
- Parent:
- 5:526691f54026
- Child:
- 7:7a17d81db52f
--- a/main.cpp Fri Nov 04 22:23:43 2016 +0000 +++ b/main.cpp Fri Nov 04 22:38:54 2016 +0000 @@ -14,6 +14,7 @@ #include "ExioMcp23s17.h" #include "ExioInBuffer.h" #include "ExioBufferedIn.h" +#include "ExioBufferedDebounceIn.h" #include "ExioBufferedRotaryEncoder.h" SPI Spi(PC_12, PC_11, PC_10); // SPI3: mosi, miso, sclk @@ -93,6 +94,60 @@ } } +void testExioBufferedDebounceIn() +{ + printf("*** Test ExioBuffeDebounceIn ***\r\n"); + + // Reset MCP23S17 (初期化時にreset()が必要) + Exio.reset(); + + ExioInBuffer inBufferA(&Exio, ExioPortA); + ExioBufferedDebounceIn inA[] = { + ExioBufferedDebounceIn(&inBufferA, 0), + ExioBufferedDebounceIn(&inBufferA, 1), + ExioBufferedDebounceIn(&inBufferA, 2), + ExioBufferedDebounceIn(&inBufferA, 3), + ExioBufferedDebounceIn(&inBufferA, 4), + ExioBufferedDebounceIn(&inBufferA, 5), + ExioBufferedDebounceIn(&inBufferA, 6), + ExioBufferedDebounceIn(&inBufferA, 7) + }; + + ExioInBuffer inBufferB(&Exio, ExioPortB); + ExioBufferedIn inB[] = { + ExioBufferedDebounceIn(&inBufferB, 0), + ExioBufferedDebounceIn(&inBufferB, 1), + ExioBufferedDebounceIn(&inBufferB, 2), + ExioBufferedDebounceIn(&inBufferB, 3), + ExioBufferedDebounceIn(&inBufferB, 4), + ExioBufferedDebounceIn(&inBufferB, 5), + ExioBufferedDebounceIn(&inBufferB, 6), + ExioBufferedDebounceIn(&inBufferB, 7) + }; + + // Start Timers + inBufferA.run(10); + inBufferB.run(10); + for (int i = 0; i < 8; i++) { + inA[i].set_debounce_us(10000); + inA[i].set_debounce_us(10000); + } + + while (true) { + for (int i = 0; i < 8; i++) { + int va = inA[i].read(); + printf("%d ", va); + } + putchar(' '); + for (int i = 0; i < 8; i++) { + int vb = inB[i].read(); + printf("%d ", vb); + } + printf("\r\n"); + //Thread::wait(10); + } +} + void testExioBufferedRotaryEncoder() { printf("*** Test ExioBufferedRotaryEncoder ***\r\n"); @@ -117,5 +172,6 @@ { //testExioInBuffer(); //testExioBufferedIn(); - testExioBufferedRotaryEncoder(); + testExioBufferedDebounceIn(); + //testExioBufferedRotaryEncoder(); } \ No newline at end of file