Test program running on MAX32625MBED. Control through USB Serial commands using a terminal emulator such as teraterm or putty.

Dependencies:   MaximTinyTester CmdLine MAX541 USBDevice

Revision:
67:5b8a495dda1c
Parent:
61:b4f3051578ef
Child:
68:ffee1e54d3fe
--- a/Test_Main_MAX11043.cpp	Wed Feb 19 22:47:05 2020 +0000
+++ b/Test_Main_MAX11043.cpp	Thu Feb 20 01:16:25 2020 +0000
@@ -1115,8 +1115,17 @@
 
 // example code declare SPI interface
 #if defined(TARGET_MAX32625MBED)
-SPI spi(SPI1_MOSI, SPI1_MISO, SPI1_SCK); // mosi, miso, sclk spi1 TARGET_MAX32625MBED: P1_1 P1_2 P1_0 Arduino 10-pin header D11 D12 D13
-DigitalOut spi_cs(SPI1_SS); // TARGET_MAX32625MBED: P1_3 Arduino 10-pin header D10
+// TODO1: support SPI hardware-controlled CS instead of GPIO CS (mbed)
+// 2020-02-19 attempting to improve SPI CS timing.
+// Currently CS envelope is 23us (11.4us before SCLK and 8.6us after SCLK).
+// MAX11043 slowest EOC rate is 9us.
+// Trying to use SPI-controlled CS configuration. Not working yet.
+SPI spi(SPI1_MOSI, SPI1_MISO, SPI1_SCK, SPI1_SS); // mosi, miso, sclk spi1 TARGET_MAX32625MBED: P1_1 P1_2 P1_0 Arduino 10-pin header D11 D12 D13 D10
+DigitalOut spi_cs(NC); // TARGET_MAX32625MBED: not connected
+// PinName NC means NOT_CONNECTED; DigitalOut::is_connected() returns false
+// compile/link but runtime error Assertion failed: obj->name != (PinName)NC
+// so something is incorrectly trying to drive the CS pin, which is illegal since it's NC
+// TODO: add m_cs_pin.is_connected() guard before writing m_cs_pin = m_SPI_cs_state
 #elif defined(TARGET_MAX32600MBED)
 SPI spi(SPI2_MOSI, SPI2_MISO, SPI2_SCK); // mosi, miso, sclk spi1 TARGET_MAX32600MBED: Arduino 10-pin header D11 D12 D13
 DigitalOut spi_cs(SPI2_SS); // Generic: Arduino 10-pin header D10