mirror of
https://github.com/esp8266/Arduino.git
synced 2025-07-21 21:22:31 +03:00
SPISlave.end() added (#4248)
* Change argument to Esp.deepSleep from uint32 to uint64 to match SDK, add deepSleepMax based on the cali_proc function per SDK * SPISlave.end() added * Nameoftherose patch for Issue #2435 (#4256) * WiFiTelnetToSerial Example - Minor Issues #2435 * WiFiTelnetToSerial Example - Minor Issues #2435 Patch to rectify issue #2435 * Check that pins needed by Wire are defined at compile-time (#4261)
This commit is contained in:
@ -72,6 +72,14 @@ void SPISlaveClass::begin()
|
|||||||
hspi_slave_onStatusSent(&_s_status_tx);
|
hspi_slave_onStatusSent(&_s_status_tx);
|
||||||
hspi_slave_begin(4, this);
|
hspi_slave_begin(4, this);
|
||||||
}
|
}
|
||||||
|
void SPISlaveClass::end()
|
||||||
|
{
|
||||||
|
hspi_slave_onData(nullptr);
|
||||||
|
hspi_slave_onDataSent(nullptr);
|
||||||
|
hspi_slave_onStatus(nullptr);
|
||||||
|
hspi_slave_onStatusSent(nullptr);
|
||||||
|
hspi_slave_end();
|
||||||
|
}
|
||||||
void SPISlaveClass::setData(uint8_t * data, size_t len)
|
void SPISlaveClass::setData(uint8_t * data, size_t len)
|
||||||
{
|
{
|
||||||
if(len > 32) {
|
if(len > 32) {
|
||||||
|
@ -52,6 +52,7 @@ public:
|
|||||||
{}
|
{}
|
||||||
~SPISlaveClass() {}
|
~SPISlaveClass() {}
|
||||||
void begin();
|
void begin();
|
||||||
|
void end();
|
||||||
void setData(uint8_t * data, size_t len);
|
void setData(uint8_t * data, size_t len);
|
||||||
void setData(const char * data)
|
void setData(const char * data)
|
||||||
{
|
{
|
||||||
|
@ -97,6 +97,23 @@ void hspi_slave_begin(uint8_t status_len, void * arg)
|
|||||||
ETS_SPI_INTR_ENABLE();
|
ETS_SPI_INTR_ENABLE();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void hspi_slave_end()
|
||||||
|
{
|
||||||
|
ETS_SPI_INTR_DISABLE();
|
||||||
|
ETS_SPI_INTR_ATTACH(NULL, NULL);
|
||||||
|
|
||||||
|
pinMode(SS, INPUT);
|
||||||
|
pinMode(SCK, INPUT);
|
||||||
|
pinMode(MISO, INPUT);
|
||||||
|
pinMode(MOSI, INPUT);
|
||||||
|
|
||||||
|
// defaults
|
||||||
|
SPI1S = 0;
|
||||||
|
SPI1U = SPIUSSE | SPIUCOMMAND;
|
||||||
|
SPI1S1 = 0;
|
||||||
|
SPI1P = B110;
|
||||||
|
}
|
||||||
|
|
||||||
void hspi_slave_setStatus(uint32_t status)
|
void hspi_slave_setStatus(uint32_t status)
|
||||||
{
|
{
|
||||||
SPI1WS = status;
|
SPI1WS = status;
|
||||||
|
@ -26,6 +26,9 @@
|
|||||||
//Start SPI SLave
|
//Start SPI SLave
|
||||||
void hspi_slave_begin(uint8_t status_len, void * arg);
|
void hspi_slave_begin(uint8_t status_len, void * arg);
|
||||||
|
|
||||||
|
//End SPI SLave
|
||||||
|
void hspi_slave_end();
|
||||||
|
|
||||||
//set the status register so the master can read it
|
//set the status register so the master can read it
|
||||||
void hspi_slave_setStatus(uint32_t status);
|
void hspi_slave_setStatus(uint32_t status);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user