add basic trickle timer function and able to process received DIO