Changes __io for __IO
Increase the time for some delays
Adds compatibility with SdSdioEX class while using DMA
Implement a retry mechanism (needs further testing)
Implement command ACMD42 to disconnect the sd internal pullup in D3 in
4bit mode
Implements the needed correction in PR #487, modifies get method with no change to set method. Exor comparison changed to equality comparison for readability.
The FSMC is only available in high density and XL density devices with more than 4 ports.
Basically excluded in the RC/D/E/F/G models, since they dont have enough pins.
Page 11 in the Datasheet references this. The table shows what is present, and shows the FSMC is NOT present in Rx MCUs:
http://www.st.com/content/ccc/resource/technical/document/datasheet/59/f6/fa/84/20/4e/4c/59/CD00191185.pdf/files/CD00191185.pdf/jcr:content/translations/en.CD00191185.pdf
Recent changes to other files highlight this issue during compilation time. The issue was already there, but GPIO E and GPIO F were declared and defined, while they don't actually exist in Rx MCUs, so FSMC was being included for those MCU even though they don't actually have an FSMC device, or at least no external ports to use it.
With the recent changes GPIO E and F and correctly excluded from the build, but since FSMC was still included and needs GPIO E and F, it was failing to compile. I.e.:
C:/Users/Victor/Documents/Arduino/Hardware/Arduino_STM32/STM32F1/cores/maple/libmaple/fsmc_f1.c:51:19: error: 'GPIOE' undeclared (first use in this function)
Since the FSMC is not available (I suspect the silicon is there, but there is no IO pins to use it), the correct solution is to include FSMC only when using an MCU with more than 4 GPIO ports, which is what matches the datasheet.
The point of this is to make drivers based on Adafruit_GFX_AS compatible with Adafruit_GFX,
without breaking existing code written for Adafruit_GFX_AS.
See also http://stm32duino.com/viewtopic.php?f=9&t=3352
- Add TS_Point-class and getter for better compatibility with various other touchscreen libraries out there
- Add oversampling for better accuracy. Default is seven samples per point
- Use SPI.beginTransaction() / endTransaction() to set proper SPI speed (as supported by XPT2046)
Added Board Varient STM32F103VB.
Replaced #ifdef STM32_HIGH_DENSITY
with #if STM32_NR_PORTS > 4
Where it makes sense for High Pin count medium density parts like the
STM32F103VB.