PiSupply / PaPiRus

Resources for PaPiRus ePaper eInk displays
https://www.pi-supply.com/product/papirus-epaper-eink-screen-hat-for-raspberry-pi/
Other
346 stars 88 forks source link

use of gpio14 and gpio15 while PaPiRus is being used #25

Closed 0xygen8 closed 8 years ago

0xygen8 commented 8 years ago

Just a quick question: will I be able to use the (hardware) serial port on pin 8 and 10 when the board is active? I have a project using the serial port and would like to add the PaPirus screen for output. I see in the schematic that the pins are being used but can not determine if that is optional like the RTC

Thanks

shawaj commented 8 years ago

The SPI is used for driving the display, however you should be able to use more than one device on the SPI port. On 17 Apr 2016 10:00 p.m., "Oxygen" notifications@github.com wrote:

Just a quick question: will I be able to use the (hardware) serial port on pin 8 and 10 when the board is active? I have a project using the serial port and would like to add the PaPirus screen for output. I see in the schematic that the pins are being used but can not determine if that is optional like the RTC

Thanks

— You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub https://github.com/PiSupply/PaPiRus/issues/25

shawaj commented 8 years ago

Did you manage to get this working ok @0xygen8 ?

0xygen8 commented 8 years ago

Nope, the communication used on the serial port has a low baudrate and interferes with the display

shawaj commented 8 years ago

SPI is definitely needed to drive the display so unfortunately it is not optional. Sorry about that.

Can you get a similar device to your one but with an I2C or other interface?

Thanks On 15 Jun 2016 7:05 p.m., "Oxygen" notifications@github.com wrote:

Nope, the communication used on the serial port has a low baudrate and interferes with the display

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/PiSupply/PaPiRus/issues/25#issuecomment-226270455, or mute the thread https://github.com/notifications/unsubscribe/ADNCum0jTgeleoHy5UpuFE7lzYnXfThcks5qMD7WgaJpZM4IJQsB .

0xygen8 commented 8 years ago

Wow, we have taken the wrong exit here... I mean the TTL Serial port on the RPi (on pin 14/15) in the schematic the are connected to the board.

shawaj commented 8 years ago

Pins 8 and 10 (GPIO 14 and 15) are used by the display yes.

The pin 8 labeled "border control" - it can probably work without this but not without the discharge pin.

Thanks On 15 Jun 2016 8:43 p.m., "Oxygen" notifications@github.com wrote:

Wow, we have taken the wrong exit here... I mean the TTL Serial port on the RPi (on pin 14/15) in the schematic the are connected to the board.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/PiSupply/PaPiRus/issues/25#issuecomment-226297934, or mute the thread https://github.com/notifications/unsubscribe/ADNCuh80wYOYZ-t-gr5OMtyf4pRQHsMMks5qMFXJgaJpZM4IJQsB .

shawaj commented 8 years ago

Just to confirm - ideally both pins are needed. There is a 0.5mm width ring around the active area for mechanical tolerance connects to the Border. We reset this pin per update to keep it white, if you do not connect this, you will see this border ring getting gray after several updates.

The Discharge pin is to ensure display will be discharged completely which is required.

Closing this issue now as there is nothing we can do unfortunately.

0xygen8 commented 8 years ago

Clear Thank you for the update

shawaj commented 8 years ago

No problem at all On 16 Jun 2016 10:29 a.m., "Oxygen" notifications@github.com wrote:

Clear Thank you for the update

— You are receiving this because you modified the open/close state. Reply to this email directly, view it on GitHub https://github.com/PiSupply/PaPiRus/issues/25#issuecomment-226435044, or mute the thread https://github.com/notifications/unsubscribe/ADNCutHS_aR7bQaBNqiXhEhvOr3rrdW0ks5qMReJgaJpZM4IJQsB .

aszolty commented 8 years ago

Can the discharge and border control pins not be moved to use a different set of GPIOs on the pi? It'd be great to open up the TX RX pins for other serial operations if they're not needed specifically for that purpose.

shawaj commented 8 years ago

No because they are fixed in the hardware.

In the future they could be moved but not right now.

Thanks

On 14 Sep 2016 5:48 am, "Zolty" notifications@github.com wrote:

Can the discharge and border control pins not be moved to use a different set of GPIOs on the pi? It'd be great to open up the TX RX pins for other serial operations if they're not needed specifically for that purpose.

— You are receiving this because you modified the open/close state. Reply to this email directly, view it on GitHub https://github.com/PiSupply/PaPiRus/issues/25#issuecomment-246881465, or mute the thread https://github.com/notifications/unsubscribe-auth/ADNCuhOonqiNm0BVJnXVHcj3YbggZRXSks5qp1JdgaJpZM4IJQsB .

The1only commented 7 years ago

This is a total NOGO, can I cut solder and move the p8 and p9 to tother IO pins and then revert the software??? Who came up with the idea of destroy the serial port just to get two IO pins, when any pins could be used???

shawaj commented 7 years ago

@The1only that is the pins that the standard driver at https://github.com/repaper/gratis uses, so we used them too. Pretty simple really.

The UART is not really used that heavily. It is really only used by advanced users, so we don't see it as a particularly major issue...but we will probably fix it in the next hardware revision as there have been a couple of people asking about it.

You can change them to any other IO pins by cutting and resoldering yes - you will need to change the driver as well though.

Thanks

shawaj commented 7 years ago

@The1only you could always post the issue at https://github.com/repaper/gratis also

tvoverbeek commented 7 years ago

The https://github.com/repaper/gratis driver already has an option to free the uart. See https://github.com/repaper/gratis/blob/master/PlatformWithOS/RaspberryPi/epd_io_free_uart.h There they use GPIOs 27 (pin 13) and 22 (pin 15). Note this is OK for Papirus Zero, but not for the HAT. The HAT has the real time clock output connected to GPIO 27 (pin 13).

An other option to consider is to bit bang serial on any 2 available GPIOs. This can be done e.g. using the pigpio library (http://abyz.co.uk/rpi/pigpio/). See also https://raspberrypi.stackexchange.com/questions/27488/pigpio-library-example-for-bit-banging-a-uart with the answer from joan, the author of the pigpio library. pigpio is included in Raspbian nowadays.

shawaj commented 7 years ago

@tvoverbeek - what do you think with regards to changing the hardware? Think it is worth doing for a future version of the HAT / Zero?

On Wed, Aug 9, 2017 at 7:02 PM, Ton van Overbeek notifications@github.com wrote:

The https://github.com/repaper/gratis driver already has an option to free the uart. See https://github.com/repaper/gratis/blob/master/ PlatformWithOS/RaspberryPi/epd_io_free_uart.h There they use GPIOs 27 (pin 13) and 22 (pin 15). Note this is OK for Papirus Zero, but not for the HAT. The HAT has the real time clock output connected to GPIO 27 (pin 13).

An other option to consider is to bit bang serial on any 2 available GPIOs. This can be done e.g. using the pigpio library ( http://abyz.co.uk/rpi/pigpio/). See also https://raspberrypi.stackexchange.com/questions/ 27488/pigpio-library-example-for-bit-banging-a-uart with the answer from joan, the author of the pigpio library. pigpio is included in Raspbian nowadays.

— You are receiving this because you modified the open/close state. Reply to this email directly, view it on GitHub https://github.com/PiSupply/PaPiRus/issues/25#issuecomment-321334753, or mute the thread https://github.com/notifications/unsubscribe-auth/ADNCusKpBaWFKQ7DxSdX2ExJeOK8VAcBks5sWfROgaJpZM4IJQsB .

shawaj commented 7 years ago

@tvoverbeek - and if the answer to my previous question is yes - what would be the best rearranged pins and is it going to be relatively easy to support in software having two different versions of the board with different pins being used?

On Wed, Aug 9, 2017 at 8:25 PM, Aaron Shaw shawaj@gmail.com wrote:

@tvoverbeek - what do you think with regards to changing the hardware? Think it is worth doing for a future version of the HAT / Zero?

On Wed, Aug 9, 2017 at 7:02 PM, Ton van Overbeek <notifications@github.com

wrote:

The https://github.com/repaper/gratis driver already has an option to free the uart. See https://github.com/repaper/gra tis/blob/master/PlatformWithOS/RaspberryPi/epd_io_free_uart.h There they use GPIOs 27 (pin 13) and 22 (pin 15). Note this is OK for Papirus Zero, but not for the HAT. The HAT has the real time clock output connected to GPIO 27 (pin 13).

An other option to consider is to bit bang serial on any 2 available GPIOs. This can be done e.g. using the pigpio library ( http://abyz.co.uk/rpi/pigpio/). See also https://raspberrypi.stackexchange.com/questions/27488/ pigpio-library-example-for-bit-banging-a-uart with the answer from joan, the author of the pigpio library. pigpio is included in Raspbian nowadays.

— You are receiving this because you modified the open/close state. Reply to this email directly, view it on GitHub https://github.com/PiSupply/PaPiRus/issues/25#issuecomment-321334753, or mute the thread https://github.com/notifications/unsubscribe-auth/ADNCusKpBaWFKQ7DxSdX2ExJeOK8VAcBks5sWfROgaJpZM4IJQsB .

tvoverbeek commented 7 years ago

Yes, I think it would be useful to free up the UART pins on the next version of the hardware (for eTC based displays). The GPIOs are hard-coded in epd-fuse, but are easily changeable at compile time. Will come back later with which alternative pins to use. Maybe an option can be added to /etc/default/epd-fuse to select the pin arrangement for border control and discharge. Otherwise we need 2 different versions of epd-fuse with the danger that the wrong version is used.

shawaj commented 7 years ago

Sounds like a plan!

On 9 Aug 2017 9:03 pm, "Ton van Overbeek" notifications@github.com wrote:

Yes, I think it would be useful to free up the UART pins on the next version of the hardware (for eTC based displays). The GPIOs are hard-coded in epd-fuse, but are easily changeable at compile time. Will come back later with which alternative pins to use. Maybe an option can be added to /etc/default/epd-fuse to select the pin arrangement for border control and discharge. Otherwise we need 2 different versions of epd-fuse with the danger that the wrong version is used.

— You are receiving this because you modified the open/close state. Reply to this email directly, view it on GitHub https://github.com/PiSupply/PaPiRus/issues/25#issuecomment-321365898, or mute the thread https://github.com/notifications/unsubscribe-auth/ADNCujnkakSpm0q-pwGd3Kc2P5BDJwzrks5sWhCPgaJpZM4IJQsB .

tvoverbeek commented 7 years ago

Here my suggestion for rearranging the pins so we free the UART. On both the Zero and the HAT GPIO 4 (pin 7) and GPIO 22 (pin 15) are routed to solder pads CN 11 and 12 respectively. Why not routing GPIO 14 (UART0_TXD, pin 8) and GPIO 15 (UART0_RXD, pin 10) to CN11 and 12 and use GPIO 4 and 22 for border control and discharge? This way the UART is available via the solder pads on both the Zero and HAT. Moreover this solution would also work on the original 26 pin GPIO (minus the buttons)

shawaj commented 7 years ago

Or if there's space we could just add 2 new pads so there's just some extras?

On 10 Aug 2017 6:26 pm, "Ton van Overbeek" notifications@github.com wrote:

Here my suggestion for rearranging the pins so we free the UART. On both the Zero and the HAT GPIO 4 (pin 7) and GPIO 22 (pin 15) are routed to solder pads CN 11 and 12 respectively. Why not routing GPIO 14 (UART0_TXD, pin 8) and GPIO 15 (UART0_RXD, pin 10) to CN11 and 12 and use GPIO 4 and 22 for border control and discharge? This way the UART is available via the solder pads on both the Zero and HAT. Moreover this solution would also work on the original 26 pin GPIO (minus the buttons)

— You are receiving this because you modified the open/close state. Reply to this email directly, view it on GitHub https://github.com/PiSupply/PaPiRus/issues/25#issuecomment-321618904, or mute the thread https://github.com/notifications/unsubscribe-auth/ADNCut8XTkWWPJttuP4wBHTgPkupuR__ks5sWz04gaJpZM4IJQsB .

tvoverbeek commented 7 years ago

Yes, but you still need 2 different GPIOs for border control and discharge. Still propose to use GPIO 4 and 22 for border control and discharge and not route them to solder pads any more.

shawaj commented 7 years ago

And then just maybe route a couple others to pads if there's space?

Sounds like a good plan to me

On 10 Aug 2017 7:03 pm, "Ton van Overbeek" notifications@github.com wrote:

Yes, but you still need 2 different GPIOs for border control and discharge. Still propose to use GPIO 4 and 22 for border control and discharge and not route them to solder pads any more.

— You are receiving this because you modified the open/close state. Reply to this email directly, view it on GitHub https://github.com/PiSupply/PaPiRus/issues/25#issuecomment-321628710, or mute the thread https://github.com/notifications/unsubscribe-auth/ADNCuglRJvvJCVzFZ1Yq7xrNmdX7GLUjks5sW0X0gaJpZM4IJQsB .