from what i can see its a way for the inputs of one chip to be read on the second.
Yes; it's as simple as that. One PICAXE or thing can read its inputs and send out an 8-bit byte ( or multiple bytes ) to tell something else what to do. The second PICAXE or thing receives those bytes, determines what they mean, and then does what is commanded of it.
"Serial", usually meaning UART/RS232 serial, is easiest to use because it only requires a single signal line plus 0V.
"SPI", is also a serial protocol but uses at least two signal lines, data and clock plus 0V, and may need more signal lines.
Single wire "serial" is a good choice for a PICAXE-to-PICAXE link because it's less wiring and the PICAXE has good support for that, notably SEROUT and SERIN commands, with receive timeouts and data packet qualifier support.
There is also a HSERIN variant, "Hardware serial" which allows data to be received even when a PICAXE is not explicitly waiting for data. The X2 chips are more capable than the M2 in that respect but both have HSERIN functionality.
So, during testing you could have a test program in your button handler which doesn't handle buttons but just tells a motor to go forward for one second, stop, go backwards, stop, and repeat that -
Code:
Do
SerOut B.7, N2400, ("F") : Pause 1000 ; Forward for 1 second
SerOut B.7, N2400, ("S") : Pause 1000 ; Stop for 1 second
SerOut B.7, N2400, ("B") : Pause 1000 ; Backwards for 1 second
SerOut B.7, N2400, ("S") : Pause 1000 ; Stop for 1 second
Loop ; Repeat forever
In the receiver one simply has to grab those bytes sent, determine which they are and what to do -
Code:
Do
SerIn C.0, N2400, b0
Select Case b0
Case "S" : Gosub StopMotors
Case "F" : Gosub GoForward
Case "B" : Gosub GoBackwards
End Select
Loop
It's a bit more complicated than that for stepper motors because you need to keep stepping and moving while waiting for the next command to arrive but that's the gist of it.
A HSERIN version would be something like -
Code:
HSerSetup B2400_4, %000
Do
b1 = 1
HSerIn w0 ; b1:b0
If b1 = 0 Then
Select Case b0
Case "S" : Gosub SetStop
Case "F" : Gosub SetForward
Case "B" : Gosub SetBackwards
End Select
End If
Gosub KeepMovingMotor
Loop