When a Gate is already power up (Discovery STM32-F0) and no detection have occured : if another board is hot plugged and powered by the first board, its GPIO initialisation state can accidentally crash all the networks (PTP line remains indefinitelly to 1).
In the picture above, network haven't crashed thanks to a new detection asked by the user. Without this detection, you're dead...
More generally, any unwanted pulse on PTP line could crash all the network.
Network configuration
RTB :
┏━━━━━━━━━━━━━━━━━━━━
┃ ╭node 1 /!\ Not certified
┃ │ Type Alias ID
┃ ├> Gate gate 1
┃ ╰> Pipe Pipe 2
╔>┗━━━━━━━━━━━━━━━━━━━
║ ┏━━━━━━━━━━━━━━━━━━━
╚══ 0>┃1 ╭node 2 /!\ Not certified
┃ │ Type Alias ID
┃ ╰> Void boot_service
┗━━━━━━━━━━━━━━━━━━━
Power input configuration :
A Gate is already power up (Discovery STM32-F0),
Then, a L0 board is hotplugged and powerered-up by the STM32.
How to reproduce the bug
Power on the STM32 and then hotplug the L0 board.
Additional context
Soft should more robust to such events. Maybe you should add a filter on PTP machine state.
Normally a good PTP switch should switch only after a reset_detection modifying the detection state to detection running or something.
Perhaps we could filter the PTP switch depending on the detection state.
Describe the bug
In the picture above, network haven't crashed thanks to a new detection asked by the user. Without this detection, you're dead...
Network configuration
RTB : ┏━━━━━━━━━━━━━━━━━━━━ ┃ ╭node 1 /!\ Not certified ┃ │ Type Alias ID ┃ ├> Gate gate 1 ┃ ╰> Pipe Pipe 2 ╔>┗━━━━━━━━━━━━━━━━━━━ ║ ┏━━━━━━━━━━━━━━━━━━━ ╚══ 0>┃1 ╭node 2 /!\ Not certified ┃ │ Type Alias ID ┃ ╰> Void boot_service
Power input configuration :
How to reproduce the bug Power on the STM32 and then hotplug the L0 board.
Additional context Soft should more robust to such events. Maybe you should add a filter on PTP machine state.