I have 1 GPIO pin on my RPi that I'm using to monitor power status of my project, the intention is to connect this pin to a serial port on a Teensy that will be running a script to send information like battery levels/charge statuses, the RPi receives it and displays it; so usually the Pi is just receiving data. All other pins are already used for the main application.
I know I can't use the same pin to both send and receive at the same time, but would it be possible to set up a ping/pong type protocol such that each end sends a message, then once reaching the end of the line the mode changes so that the other end now sends a message. So for example, after receiving each power status message, the modes flip and the Pi responds with a simple 'ack' then the modes flip back; and the Teensy would be able to detect if the Pi has shut down if it doesn't receive that 'ack' within a certain timeout.