Project

General

Profile

Task #9250

Milestone #9017: State Machine subsystem

Execute CommandLists

Added by John Diamond over 5 years ago. Updated over 5 years ago.

Status:
Assigned
Priority:
Normal
Assignee:
Category:
bpmd
Start date:
07/07/2015
Due date:
% Done:

50%

Estimated time:
(Total: 4.00 h)
Spent time:
18.50 h (Total: 32.00 h)
Duration:

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

Task #9383: Implement timer-triggered commandsNewJohn Diamond

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.



Also available in: Atom PDF