pico is recognized
Dependencies: max32625pico mbed SerialInterface USBDevice
Diff: main2.txt
- Revision:
- 7:8bc9fad71b8c
diff -r 7d1372f75a71 -r 8bc9fad71b8c main2.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main2.txt Thu Jan 30 20:33:16 2020 +0000 @@ -0,0 +1,99 @@ +#include "mbed.h" +#include "rtos.h" +#include "max32625pico.h" +#include "USBKeyboard.h" + +// Hardware serial port over DAPLink +Serial daplink(P2_1, P2_0); + +DigitalOut rLED(LED1, LED_OFF); +DigitalOut gLED(LED2, LED_OFF); +DigitalOut bLED(LED3, LED_OFF); +DigitalIn button(P2_7, PullUp); +AnalogIn dipIOH(AIN_4); +AnalogIn swdIOH(AIN_5); +AnalogIn vddbIn(AIN_6); +AnalogIn vdd18In(AIN_7); +AnalogIn vdd12In(AIN_8); +AnalogIn vrtcIn(AIN_9); + +USBKeyboard keyboard; + +MAX32625PICO pico(MAX32625PICO::IOH_DIP_IN, MAX32625PICO::VIO_IOH, MAX32625PICO::VIO_1V8); + +// Function to report failure +void testFailed() +{ + daplink.printf("\r\n! Test Failed !\r\n"); + rLED = LED_ON; + gLED = LED_OFF; + bLED = LED_OFF; + while(1) { + Thread::wait(500); + gLED = !gLED; + } +} + +// main() runs in its own thread in the OS +// (note the calls to Thread::wait below for delays) +int main() +{ + float aIn; + int ledCnt = 0; + + rLED = LED_ON; + gLED = LED_ON; + bLED = LED_OFF; + + daplink.printf("Checking Supplies\r\n"); + aIn = 2.4f * vdd12In; + daplink.printf("vdd12 = %f\r\n", aIn); + if ((aIn < 1.0f) || (aIn > 1.4f)) { + testFailed(); + } + aIn = 2.4f * vdd18In; + daplink.printf("vdd18 = %f\r\n", aIn); + if ((aIn < 1.6f) || (aIn > 2.0f)) { + testFailed(); + } + aIn = 4.8f * vddbIn; + daplink.printf("vddb = %f\r\n", aIn); + if ((aIn < 3.0f) || (aIn > 3.6f)) { + testFailed(); + } + aIn = 2.4f * vrtcIn; + daplink.printf("vrtc = %f\r\n", aIn); + if ((aIn < 1.6f) || (aIn > 2.0f)) { + testFailed(); + } + + aIn = 6.0f * dipIOH; + daplink.printf("dipIOH = %f\r\n", aIn); + + aIn = 6.0f * swdIOH; + daplink.printf("swdIOH = %f\r\n", aIn); + + + + rLED = LED_OFF; + Thread::wait(250); + + daplink.printf("Self Test Passed\r\n"); + rLED = LED_ON; + gLED = LED_ON; + bLED = LED_ON; + + while (true) { + if (!button) { + keyboard.mediaControl(KEY_MUTE); + ledCnt++; + gLED = ((ledCnt % 4) != 1); + bLED = ((ledCnt % 4) != 2); + rLED = ((ledCnt % 4) != 3); + Thread::wait(500); + } else { + Thread::wait(50); + } + } +} +