You are viewing a static version of the site. Enable JavaScript to benefit from the
full functionality of this site and enable such things as forum posting.
acessing SD on tft shield on max32
Anthony:
Hello
I am trying to access the SD on a tft shield on a ChipKit Max32 using the
SdInfo example with:
const uint8_t SD_CHIP_SELECT = 10; // tft
This was working in 2017...has anything changed?
I have also tried this on the Wf32, also not working..
UECIDE 0.10.6
on Elementary 0.4.1 Loki
Thank you for any help you can give.
Regards
Anthony
matt:
Yeah, this is something that did change around then. The SD library is a complete mess and doesn't work properly. It had a parameter to the constructor that was intended to be the chip select pin, but instead was actually used to enable/disable the internal pullup of the MISO pin. The library changed to actually use it as the chip select pin as it was originally intended (and all the comments, which were wrong at the time, stated). Which left the pullup pin uncontrolled. That was migrated to a #define in the board definitions, but that was far from desirable. I am not sure of the state of that define for all the boards. You can try manually enabling the internal pullup for the MISO pin, but YMMV.
Better is to use a hardware real pullup on the MISO pin as the SD specification requires. Connect a 1kΩ to 10kΩ resistor between the MOSI pin and +3.3V.
Also the SD library doesn't use hardware SPI but bitbangs everything so it's horrendously slow. TBH you're better off using the DFATFS / DSDVOL library combination. It's a far more modern and well rounded filesystem library.
Anthony:
Hello Matt,
Thank you.
I have tried all the examples on UECIDE, SDfat, SD, DSDVOL and none detect the card.
Is there an DFATFS example you could point me to?
In the past I have had the Lenny read the tft SD using SdFat.h on pin 10,
I have had the max32 read the tft SD using SD.h on pin 10
None of my SD examples now work, is there a way to roll back from a libraries update?
Thank you
Regards
Anthony
matt:
What TFT are you using? I may have one here the same, so I can try and replicate your setup.
Anthony:
Hello Matt,
I am using a non touch 3.2" tft arduino pins shield ILI9481. The SD on the shield is on pin 10.
I am working on a gps logger that will start on power on, you may recall the issue with a tft on the Olimex Pinguino otg where the tft and reset pins conflicted.
An example using the DSDVOL library would be great, if you could point me too one...
Thank you
matt:
Can you give me a link to the exact TFT? I have a huge collection of them here y'see. Some TFTs have a buffer chip on them for level translation for 5V Arduino boards which isn't needed for chipKIT boards and could affect how it operates.