Sat, 07 Nov 2015 13:23:07 +0100
Initial code from reprappro Marlin repository
0 | 1 | /* Arduino SdFat Library |
2 | * Copyright (C) 2009 by William Greiman | |
3 | * | |
4 | * This file is part of the Arduino SdFat Library | |
5 | * | |
6 | * This Library is free software: you can redistribute it and/or modify | |
7 | * it under the terms of the GNU General Public License as published by | |
8 | * the Free Software Foundation, either version 3 of the License, or | |
9 | * (at your option) any later version. | |
10 | * | |
11 | * This Library is distributed in the hope that it will be useful, | |
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
14 | * GNU General Public License for more details. | |
15 | * | |
16 | * You should have received a copy of the GNU General Public License | |
17 | * along with the Arduino SdFat Library. If not, see | |
18 | * <http://www.gnu.org/licenses/>. | |
19 | */ | |
20 | /** | |
21 | * \file | |
22 | * \brief configuration definitions | |
23 | */ | |
24 | #include "Marlin.h" | |
25 | #ifdef SDSUPPORT | |
26 | ||
27 | #ifndef SdFatConfig_h | |
28 | #define SdFatConfig_h | |
29 | #include <stdint.h> | |
30 | //------------------------------------------------------------------------------ | |
31 | /** | |
32 | * To use multiple SD cards set USE_MULTIPLE_CARDS nonzero. | |
33 | * | |
34 | * Using multiple cards costs 400 - 500 bytes of flash. | |
35 | * | |
36 | * Each card requires about 550 bytes of SRAM so use of a Mega is recommended. | |
37 | */ | |
38 | #define USE_MULTIPLE_CARDS 0 | |
39 | //------------------------------------------------------------------------------ | |
40 | /** | |
41 | * Call flush for endl if ENDL_CALLS_FLUSH is nonzero | |
42 | * | |
43 | * The standard for iostreams is to call flush. This is very costly for | |
44 | * SdFat. Each call to flush causes 2048 bytes of I/O to the SD. | |
45 | * | |
46 | * SdFat has a single 512 byte buffer for SD I/O so it must write the current | |
47 | * data block to the SD, read the directory block from the SD, update the | |
48 | * directory entry, write the directory block to the SD and read the data | |
49 | * block back into the buffer. | |
50 | * | |
51 | * The SD flash memory controller is not designed for this many rewrites | |
52 | * so performance may be reduced by more than a factor of 100. | |
53 | * | |
54 | * If ENDL_CALLS_FLUSH is zero, you must call flush and/or close to force | |
55 | * all data to be written to the SD. | |
56 | */ | |
57 | #define ENDL_CALLS_FLUSH 0 | |
58 | //------------------------------------------------------------------------------ | |
59 | /** | |
60 | * Allow use of deprecated functions if ALLOW_DEPRECATED_FUNCTIONS is nonzero | |
61 | */ | |
62 | #define ALLOW_DEPRECATED_FUNCTIONS 1 | |
63 | //------------------------------------------------------------------------------ | |
64 | /** | |
65 | * Allow FAT12 volumes if FAT12_SUPPORT is nonzero. | |
66 | * FAT12 has not been well tested. | |
67 | */ | |
68 | #define FAT12_SUPPORT 0 | |
69 | //------------------------------------------------------------------------------ | |
70 | /** | |
71 | * SPI init rate for SD initialization commands. Must be 5 (F_CPU/64) | |
72 | * or 6 (F_CPU/128). | |
73 | */ | |
74 | #define SPI_SD_INIT_RATE 5 | |
75 | //------------------------------------------------------------------------------ | |
76 | /** | |
77 | * Set the SS pin high for hardware SPI. If SS is chip select for another SPI | |
78 | * device this will disable that device during the SD init phase. | |
79 | */ | |
80 | #define SET_SPI_SS_HIGH 1 | |
81 | //------------------------------------------------------------------------------ | |
82 | /** | |
83 | * Define MEGA_SOFT_SPI nonzero to use software SPI on Mega Arduinos. | |
84 | * Pins used are SS 10, MOSI 11, MISO 12, and SCK 13. | |
85 | * | |
86 | * MEGA_SOFT_SPI allows an unmodified Adafruit GPS Shield to be used | |
87 | * on Mega Arduinos. Software SPI works well with GPS Shield V1.1 | |
88 | * but many SD cards will fail with GPS Shield V1.0. | |
89 | */ | |
90 | #define MEGA_SOFT_SPI 0 | |
91 | //------------------------------------------------------------------------------ | |
92 | /** | |
93 | * Set USE_SOFTWARE_SPI nonzero to always use software SPI. | |
94 | */ | |
95 | #define USE_SOFTWARE_SPI 0 | |
96 | // define software SPI pins so Mega can use unmodified 168/328 shields | |
97 | /** Software SPI chip select pin for the SD */ | |
98 | uint8_t const SOFT_SPI_CS_PIN = 10; | |
99 | /** Software SPI Master Out Slave In pin */ | |
100 | uint8_t const SOFT_SPI_MOSI_PIN = 11; | |
101 | /** Software SPI Master In Slave Out pin */ | |
102 | uint8_t const SOFT_SPI_MISO_PIN = 12; | |
103 | /** Software SPI Clock pin */ | |
104 | uint8_t const SOFT_SPI_SCK_PIN = 13; | |
105 | //------------------------------------------------------------------------------ | |
106 | /** | |
107 | * The __cxa_pure_virtual function is an error handler that is invoked when | |
108 | * a pure virtual function is called. | |
109 | */ | |
110 | #define USE_CXA_PURE_VIRTUAL 1 | |
111 | #endif // SdFatConfig_h | |
112 | ||
113 | ||
114 | #endif |