@startuml

skinparam shadowing false

state button{
    state wait as "wait (0x00_000)"
    state pressed as "pressed (0x10_010)"
    state pressed_time as "released time (0x10_010)"
    state released as "released (0x11_010)"
    wait  --> pressed
    pressed --> pressed_time
    pressed_time --> released
    released --> wait
}

state led9{
    state on9 as "on (1)"
    state off9 as "off (0)"
'    on9 --> off9
'    off9 --> on9
}

state led8{
    state on8 as "on (10)"
    state blinkon8 as "blink on (11)"
    state blinkoff8 as "blink off (10)"
    state off8 as "off (00)"
'    [*] --> on8
    on8 --> blinkon8
    blinkon8 --> blinkoff8
    blinkoff8 --> blinkon8
    blinkoff8 --> off8
'    off8 --> on8
}

'pressed --> on9 : bl on9
'released --> on8 : r5=3s bl on8
'released_long --> on8 : r5=10s bl on8
'off8 --> off9 : bl off9
@enduml
