[INSTRM-478] Write msim FPGA log decoder Created: 05/Sep/18  Updated: 20/Nov/18

Status: Open
Project: Instrument control development
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Task Priority: Normal
Reporter: cloomis Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

It would be useful to compare the traffic sent to the FPGA from msim and from cobraCharmer. Notably, each msim test run generates an fpga_log.txt showing all the traffic.

Unfortunately this is the raw hex stream, and not something parseable. Given the pieces of code that we already have, I don't think it would be horribly difficult to write a decoder. One may already exist.

As an example, the SETFREQ logs for msim and cobraCharmer are:

3,3864153819.000000,030100384e208ae2082300fd0099101300fb009a102300fc0099181300fd0098182300fc0097201301000097202300fc0098281300fa0099282300fc0097301300fe0095302300fd0098381300fe0097382300fc0098401300fa0097402300fc009a481300fc0098482300fe0096501300fd0098502300fa0097581300fb0097582300fe0099601300fc0099602300fa0098681300fd0097682301000096701300fd0099702300fd0094781300fc0097782300fc0098801300fb0093802300fb0096881300fb0098882300fd0098901300fd0096902300fa0098981300ff0097982300fa0098a01300ff0099a02300fe0096a81300fc0097a82301000098b01300fd0097b02301010099b81300fa0097b82300fc0098c01300fa0097c02300fe0098c81300fc0096c82300f80096d01300fa0097d02300f90097d81300f80099d82300fb0099e01300fa009ae02300f70095e81300fc009a

and

2018-09-04T14:29:06.0759 20 fpga       CMD: setFreq (57 cobras)
2018-09-04T14:29:06.0759 20 fpga           cobra:  1  1 Theta: 1 63.24 Phi: 1 108.11
2018-09-04T14:29:06.0760 20 fpga           cobra:  2  1 Theta: 1 63.24 Phi: 1 104.58
2018-09-04T14:29:06.0760 20 fpga           cobra:  1  2 Theta: 1 63.75 Phi: 1 103.90
2018-09-04T14:29:06.0760 20 fpga           cobra:  2  2 Theta: 1 63.49 Phi: 1 104.58
2018-09-04T14:29:06.0760 20 fpga           cobra:  1  3 Theta: 1 63.24 Phi: 1 105.26
2018-09-04T14:29:06.0760 20 fpga           cobra:  2  3 Theta: 1 63.49 Phi: 1 105.96
2018-09-04T14:29:06.0760 20 fpga           cobra:  1  4 Theta: 1 62.50 Phi: 1 105.96
2018-09-04T14:29:06.0760 20 fpga           cobra:  2  4 Theta: 1 63.49 Phi: 1 105.26
2018-09-04T14:29:06.0760 20 fpga           cobra:  1  5 Theta: 1 64.00 Phi: 1 104.58
2018-09-04T14:29:06.0760 20 fpga           cobra:  2  5 Theta: 1 63.49 Phi: 1 105.96
2018-09-04T14:29:06.0760 20 fpga           cobra:  1  6 Theta: 1 62.99 Phi: 1 107.38
2018-09-04T14:29:06.0760 20 fpga           cobra:  2  6 Theta: 1 63.24 Phi: 1 105.26
2018-09-04T14:29:06.0760 20 fpga           cobra:  1  7 Theta: 1 62.99 Phi: 1 105.96
2018-09-04T14:29:06.0760 20 fpga           cobra:  2  7 Theta: 1 63.49 Phi: 1 105.26
2018-09-04T14:29:06.0760 20 fpga           cobra:  1  8 Theta: 1 64.00 Phi: 1 105.96
  [ etc ]


 Comments   
Comment by cloomis [ 20/Nov/18 ]

All the logs for all Spare1, Spare2, Science 01,02,15,29 runs as of 2018-10-11 are at https://drive.google.com/open?id=1kUx13MKshaPgp04l-RYjK0OHxbLJ0k-X. [Sorry, I though I had sent out mail on 10-11]

The input logs are the ones which contain the raw (binary) network command and responses. All packets headers and responses are printed, and all fields in all packets. Voltages, temperatures, and frequencies are converted to V, C, kHz.

The output is intended to be both machine parseable and human readable. You should be able to make sense of the contents by looking at PFS-PFI-CIT900001-08_PFI MPS Electronics ICD RevF_proposal.pdf (available on pbworks). The important ones are:

  • All tests start by setting and checking the motor frequencies. I'll note that the currents on board 1 seem to come back as 0.
  • The run commands show, for each motor: run/ignore, direction, #steps, pulse length, wait time.
Generated at Sat Feb 10 16:25:26 JST 2024 using Jira 8.3.4#803005-sha1:1f96e09b3c60279a408a2ae47be3c745f571388b.