Soldered SD Card Arduino Library
1.0.0
Easily read and write files to and form the SD card breakout! A fork of the original SDFat library by Bill Greiman.
Toggle main menu visibility
Loading...
Searching...
No Matches
SdSpiLibDriver.h
Go to the documentation of this file.
1
29
#ifndef SdSpiLibDriver_h
30
#define SdSpiLibDriver_h
31
//------------------------------------------------------------------------------
32
inline
void
SdSpiArduinoDriver::activate
()
33
{
34
m_spi
->beginTransaction(
m_spiSettings
);
35
}
36
//------------------------------------------------------------------------------
37
inline
void
SdSpiArduinoDriver::begin
(
SdSpiConfig
spiConfig)
38
{
39
if
(spiConfig.
spiPort
)
40
{
41
m_spi
= spiConfig.
spiPort
;
42
#if defined(SDCARD_SPI) && defined(SDCARD_SS_PIN)
43
}
44
else
if
(spiConfig.
csPin
== SDCARD_SS_PIN)
45
{
46
m_spi
= &SDCARD_SPI;
47
#endif
// defined(SDCARD_SPI) && defined(SDCARD_SS_PIN)
48
}
49
else
50
{
51
m_spi
= &SPI;
52
}
53
m_spi
->begin();
54
}
55
//------------------------------------------------------------------------------
56
inline
void
SdSpiArduinoDriver::deactivate
()
57
{
58
m_spi
->endTransaction();
59
}
60
//------------------------------------------------------------------------------
61
inline
uint8_t
SdSpiArduinoDriver::receive
()
62
{
63
return
m_spi
->transfer(0XFF);
64
}
65
//------------------------------------------------------------------------------
66
inline
uint8_t
SdSpiArduinoDriver::receive
(uint8_t *buf,
size_t
count)
67
{
68
#if USE_SPI_ARRAY_TRANSFER
69
memset(buf, 0XFF, count);
70
m_spi
->transfer(buf, count);
71
#else
// USE_SPI_ARRAY_TRANSFER
72
for
(
size_t
i = 0; i < count; i++)
73
{
74
buf[i] =
m_spi
->transfer(0XFF);
75
}
76
#endif
// USE_SPI_ARRAY_TRANSFER
77
return
0;
78
}
79
//------------------------------------------------------------------------------
80
inline
void
SdSpiArduinoDriver::send
(uint8_t data)
81
{
82
m_spi
->transfer(data);
83
}
84
//------------------------------------------------------------------------------
85
inline
void
SdSpiArduinoDriver::send
(
const
uint8_t *buf,
size_t
count)
86
{
87
#if USE_SPI_ARRAY_TRANSFER
88
if
(count <= 512)
89
{
90
uint8_t tmp[count];
// NOLINT
91
memcpy(tmp, buf, count);
92
m_spi
->transfer(tmp, count);
93
return
;
94
}
95
#endif
// USE_SPI_ARRAY_TRANSFER
96
for
(
size_t
i = 0; i < count; i++)
97
{
98
m_spi
->transfer(buf[i]);
99
}
100
}
101
#endif
// SdSpiLibDriver_h
SdSpiArduinoDriver::send
void send(uint8_t data)
Definition
SdSpiArtemis.cpp:63
SdSpiArduinoDriver::m_spiSettings
SPISettings m_spiSettings
Definition
SdSpiArduinoDriver.h:88
SdSpiArduinoDriver::receive
uint8_t receive()
Definition
SdSpiArtemis.cpp:51
SdSpiArduinoDriver::activate
void activate()
Definition
SdSpiArtemis.cpp:28
SdSpiArduinoDriver::m_spi
SPIClass * m_spi
Definition
SdSpiArduinoDriver.h:87
SdSpiArduinoDriver::begin
void begin(SdSpiConfig spiConfig)
Definition
SdSpiArtemis.cpp:33
SdSpiArduinoDriver::deactivate
void deactivate()
Definition
SdSpiArtemis.cpp:46
SdSpiConfig
SPI card configuration.
Definition
SdSpiDriver.h:112
SdSpiConfig::csPin
const SdCsPin_t csPin
Definition
SdSpiDriver.h:152
SdSpiConfig::spiPort
SpiPort_t * spiPort
Definition
SdSpiDriver.h:158
src
SpiDriver
SdSpiLibDriver.h
Generated on
for Soldered SD Card Arduino Library by
1.17.0. Dark theme by
Tilen Majerle
. All rights reserved. Copyright:
Soldered