

You should rearrange your structure to group the types from biggest to smallest, otherwise you get padding you didn’t want. BPM and steps for example.
Qspi in general can read single bytes. But we don’t know what controller you use.
Also you probably shouldn’t just read it into memory and cast it to your structure. If you ever change the layout everything breaks apart.
Doesn’t Zed have a vim mode by default?