Go Down

Topic: BUSY pin in a SPI connection (Read 188 times) previous topic - next topic

Bjack795

Hi all!
I know this maybe a stupid question but I've searched a lot over the forum and I didn't find a complete answer so I try with a new thread.

I'm looking at the connections between an Arduino/ESP32 board and an SPI Epaper screen from Waveshare.
One of the connections is the BUSY one, could you explain to me for what it's used and what pins should be connected to it?
I know almost all the other pins duties, MOSI, MISO, SS, etc but the BUSY is still unknown to me.
Thank you

pylon

Quote
I'm looking at the connections between an Arduino/ESP32 board and an SPI Epaper screen from Waveshare.
Your answer is only a Google search away (BTW, you forgot the link to the used hardware). The wiki page for your display explains everything. The busy signal is an output which tells the microcontroller that the display is busy and cannot react to commands. The page explains how to connect the display if used with the library provided by the manufacturer.

An ESP32 board is not an Arduino, so the connections have to be adapted if you use an ESP board.

Bjack795

Your answer is only a Google search away (BTW, you forgot the link to the used hardware). The wiki page for your display explains everything.
I've searched a lot on google and of course the answer I wanted wasn't there.
There is only explained what pin goes to BUSY, not the meaning of the BUSY line.
That's why I stayed as general as possible, not linking anything.

The busy signal is an output which tells the microcontroller that the display is busy and cannot react to commands....
This is a part of the answer I was looking for, the other part is if the pin should be some specific digital/analog one etc..
The type of the signal and what pin I cannot use for BUSY line.


An ESP32 board is not an Arduino, so the connections have to be adapted if you use an ESP board.
I know what they are since I have both, my question wasn't about how to connect a specific display to a specific board but the display was only an example.
The question was on BUSY line generically, for a display, a keyboard or whatever.

srnet

#3
Nov 15, 2018, 11:14 pm Last Edit: Nov 15, 2018, 11:14 pm by srnet
The question was on BUSY line generically, for a display, a keyboard or whatever.
There is no generic definition or function for BUSY pin on an SPI device, its on a case by case basis depending on the device. Read the device datasheet for details.

There are SPI devices that can be 'BUSY' doing stuff and the only way you can work out if they are 'BUSY' is by polling registers over SPI interface to the device.
$50SAT is now Silent (but probably still running)
http://www.50dollarsat.info/
http://www.loratracker.uk/

Bjack795

There is no generic definition or function for BUSY pin on an SPI device, its on a case by case basis depending on the device. Read the device datasheet for details.

There are SPI devices that can be 'BUSY' doing stuff and the only way you can work out if they are 'BUSY' is by polling registers over SPI interface to the device.
But the meaning of the "BUSY" line is the same, indicating if something is in use or can be used, according to your answer.
So the concept behind that line can be generalized and it is what I was looking for and as you said since "there is no definition" I found no definition.
Everytime I found "connect pin 7 to BUSY" but how I can know if the pin 8 is still good for it?

A lot of specific cases not explaining what's behind.

srnet

There is no definition of a 'busy' pin in the SPI interface so you cannot 'generalize' what this pin might exactly be be used for or indicate on a specific device and thus have a standard answer on how or what to connect it to.

You need to study the documentation for the device you have and its library to work out how to connect your particular example of a 'busy' pin.

 
$50SAT is now Silent (but probably still running)
http://www.50dollarsat.info/
http://www.loratracker.uk/

Bjack795

There is no definition of a 'busy' pin in the SPI interface so you cannot 'generalize' what this pin might exactly be be used for or indicate on a specific device and thus have a standard answer on how or what to connect it to.

You need to study the documentation for the device you have and its library to work out how to connect your particular example of a 'busy' pin.

 
Ok but if in the documentation there is the indication for pin 7 that is referring to a lot of uses (just an example) how can I know if the pin 8 is as good as the 7.
I mean it should be just a digital pin or it needs like RST, MOSI etc that can't be redirected?

srnet

Ok but if in the documentation there is the indication for pin 7 that is referring to a lot of uses (just an example) how can I know if the pin 8 is as good as the 7.
I mean it should be just a digital pin or it needs like RST, MOSI etc that can't be redirected?
I cannot say, it depends entirely on what the display does and used the Busy pin for.

You will need to study the device datasheet, this is the third time I have mentioned it.
$50SAT is now Silent (but probably still running)
http://www.50dollarsat.info/
http://www.loratracker.uk/

Bjack795

I cannot say, it depends entirely on what the display does and used the Busy pin for.

You will need to study the device datasheet, this is the third time I have mentioned it.
I know everything about the display, my question was not on my display.
Anyways ok I think that we are saying the same things so we can stop here.
Thank you for the patience and the information.

el_supremo

The BUSY pin is defined in the library file epdif.h
Code: [Select]
// Pin definition
#define RST_PIN         8
#define DC_PIN          9
#define CS_PIN          10
#define BUSY_PIN        7


You can change it to another pin, if you wish, as long as it doesn't conflict with the other pins used by the library and by the SPI hardware (pins 11,12,13).
So, in particular, you can't use pin 8 instead of pin 7 because it is already used for RST_PIN. But you could use pin 6 or pin 5.

Pete
Don't send me technical questions via Private Message.

srnet

The BUSY pin is defined in the library file epdif.h
Code: [Select]
// Pin definition
#define RST_PIN         8
#define DC_PIN          9
#define CS_PIN          10
#define BUSY_PIN        7


You can change it to another pin, if you wish, as long as it doesn't conflict with the other pins used by the library and by the SPI hardware (pins 11,12,13).
So, in particular, you can't use pin 8 instead of pin 7 because it is already used for RST_PIN. But you could use pin 6 or pin 5.

Pete
That wiring might be possible on an UNO etc, but the OP is using an ESP32.

The ESP32 is a bit particular about which pins you can use for what purpose, and at what logic levels they can be (or not) at reset.

Which is why you need to check the display datasheet to see what the busy pin on the display is used for etc.

Once you know that you can work out which pins you can connect the busy pin to and which you cannot.
$50SAT is now Silent (but probably still running)
http://www.50dollarsat.info/
http://www.loratracker.uk/

Bjack795

Ok thank to both.
For my project the wiring is ok, the question was just to have a more complete understanding of the BUSY line meaning and connection.

Go Up