Search the Community
Showing results for tags 'flashair'.
Found 1 result
Using a Toshiba FlashAir Wi-Fi SD flash memory card in your 3D printer is a cool way to wirelessly transfer g-code files. I recently installed a 8GB card in my daVinci 1.0 (which had been upgraded with repetier firmware). I configured the FlashAir to operate in client mode and had success without any hassle. Any web browser can be used to upload files (no special software required). But my luck ran out when I tried to use the FlashAir in my Geeetech i3 Prusa printer (which uses Marlin RepRap firmware). I could read/write files to it in the usual way, but it refused to establish a WiFi connection. I discovered that when Marlin reads the SD card it turns Off the WiFi function. But when it writes to the card it turns the WiFi On. It's a very strange bug indeed. Fortunately Marlin is Open Source software. Buried deep in the SD card code I found the culprit and created a firmware patch that solves the problem. NOV-18-2015 EDIT: This is a revised Marlin patch. If you have installed the original work-around firmware patch then remove the edits from the cardreader.cpp file before applying the new patch. The configuration.h edits can remain as-is since they are still needed in this revised patch. Here's the patch instructions for the Marlin reprap Firmware: 1. Two files need to be edited. Start by loading Marlin's sketch (source) code into the Arduino IDE. Or use your favorite text editor. 2. Open file "configuration.h" 3. In any convenient place under the BAUDRATE section, add the following code: // FLASH_AIR_WIFI must be defined if a Toshiba FlashAir card's WiFi is used. // The FlashAir card will broadcast approx 6 seconds after Mounting. // If a WiFi link is not established within 1 minute the FlashAir's WiFi will // hibernate (must re-Mount card to retry WiFi linking). #define FLASH_AIR_WIFI // Uncomment this if Toshiba FlashAir WiFi is used. Save the file. 4. Open file "Sd2Card.cpp" 5. Find the Sd2Card::readData() function. 6. At the bottom of the function, find this text: // discard CRC spiRec(); spiRec(); chipSelectHigh(); return true; fail: chipSelectHigh(); return false; 7. Replace it with this: // discard CRC spiRec(); spiRec(); // <--- IF YOUR VERSION HAS A #endif ON THIS LINE THEN YOU MUST INCLUDE IT HERE TOO. chipSelectHigh(); #ifdef FLASH_AIR_WIFI // Toshiba FlashAir Patch. spiSend(0XFF); // Purge pending status byte. #endif return true; fail: chipSelectHigh(); #ifdef FLASH_AIR_WIFI // Toshiba FlashAir Patch. spiSend(0XFF); // Purge pending status byte. #endif return false; Save the File. 8. Use the Arduino IDE and upload (re-flash) your printer. Done! BTW, the FlashAir card ships with a host program for your PC. Do NOT install it. Instead, setup the card for client (station) mode so you can use any web browser for uploads. Instructions are here: http://www.extrud3d.com/flashair https://flashair-developers.com/en/documents/tutorials/advanced/1/ You can also replace the SD card's default web based uploader with one that has a better interface. Get it here: http://www.extrud3d.com/fashairui Lastly, the newer FlashAir W03 version supports long file names, whereas the W02 version is 8.3 format. The 8GB W03 Class 10 card is under $25 USD on eBay. But if you find a much lower price for the 8GB W02 Class 6, and money is tight, then save some cash and go for it instead. I have both card types and they work well.