Task #9250
Milestone #9017: State Machine subsystem
Execute CommandLists
50%
Description
Add support for executing commands on a CommandList to the state machine task.
When the system is idle the state machine must configure the timing board to receive notifications for all enabled machine cycle reset events.
After receiving a machine cycle reset notification the state machine must configure the timing board to receive notifications for timer events and tclk events according to the command list.
An IDLE command switches the state machine back to the idle state.
Subtasks
History
#1 Updated by John Diamond over 5 years ago
Back from working on SYBPM's for a week. Found that we were passing the machine cycle reset event to SharedCommandTable::get(unsigned int) instead of the command list index that it expects. Implemented an overload of SharedCommandTable::get(..) that accepts the machine cycle reset event and performs a lookup of the command list index.
#2 Updated by John Diamond over 5 years ago
- % Done changed from 0 to 30
Working state machine:
Jul 7 12:02:23 bbpmts user.info BPMDSM: msg.tclk_event = 20. Jul 7 12:02:23 bbpmts user.info BPMDSM: Entering in-cycle state for machine reset event $20. Jul 7 12:02:23 bbpmts user.info BPMDSM: Using command list: raw measurement, commands: 2 Jul 7 12:02:23 bbpmts user.info BPMDSM: executing command type 0 Jul 7 12:02:23 bbpmts user.info BPMDCT: Arming digitizer pool. Jul 7 12:02:23 bbpmts kern.warn kernel: [ 152.135664] adc250x12xsmod: Control task received unknown message type = 0 Jul 7 12:02:28 bbpmts user.info BPMDSM: msg.tclk_event = 26. Jul 7 12:02:28 bbpmts user.info BPMDSM: executing command type 1 Jul 7 12:02:28 bbpmts user.info BPMDSM: Entering idle state. [ 212.121079] adc250x12xsmod: Control task received unknown message type = 0 Jul 7 12:03:23 bbpmts user.info BPMDSM: msg.tclk_event = 20. Jul 7 12:03:23 bbpmts user.info BPMDSM: Entering in-cycle state for machine reset event $20. Jul 7 12:03:23 bbpmts user.info BPMDSM: Using command list: raw measurement, commands: 2 Jul 7 12:03:23 bbpmts user.info BPMDSM: executing command type 0 Jul 7 12:03:23 bbpmts user.info BPMDCT: Arming digitizer pool. Jul 7 12:03:23 bbpmts kern.warn kernel: [ 212.121079] adc250x12xsmod: Control task received unknown message type = 0 Jul 7 12:03:28 bbpmts user.info BPMDSM: msg.tclk_event = 26. Jul 7 12:03:28 bbpmts user.info BPMDSM: executing command type 1 Jul 7 12:03:28 bbpmts user.info BPMDSM: Entering idle state.