Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Changed CTerminal to only remove prompt on enter. #214

Open
wants to merge 154 commits into
base: dev
Choose a base branch
from
Open

Conversation

ksmith0
Copy link
Contributor

@ksmith0 ksmith0 commented Feb 3, 2017

When a command is entered the prompt is cleared until GetCommand is
called again. The KEY_UP and KEY_DOWN commands call clear_ and required
printing of the prompt after the clear_ as well. This permits long running commands such as adjust_offsets to indicate to the user that something is happening.

ksmith0 and others added 30 commits October 27, 2016 16:48
PLD_header::~PLD_header had an uneeded delete statement. This was causing a seg fault when quitting poll2 on nitemp.

Former-commit-id: 4f29460
Removed PLD_header delete statement

Former-commit-id: befd7dd
Updating gitignore to exclude build directories

Former-commit-id: c9cc188
The message now provides more useful information about the previus and
next event to allow debugging.


Former-commit-id: d1d1e9d
The event prior to parsing error was using wrong evet size. This has
been corrected and a message about each event size is now displayed.


Former-commit-id: 601679a
Updated the output when a parsing error is encountered to display the
event previous, at, and following the parsing error.

In addition, during the run end process if an error had been encountered
the FIFO is not read out as we may have missed a partial event and would
be lost.


Former-commit-id: c503a24
Mistakenly used the wrong event size for the truncation message display
for the event following the parsing error.


Former-commit-id: 2ddfe43
Previously one error would supress the others. Now all messages are
printed.


Former-commit-id: e943de0
Added the capability to specify modules or channels with a colon
character delimiting a range. For example,
pwrite 0 0:4 TRIGGER_THRESHOLD 0x1a
would set the trigger threshold for module 0 and channels 0-4 to the hex
value 0x1a (decimal 26).

Also, acceptable input includes scientific notation and octal.


Former-commit-id: 209d663
I have addressed a magic number in the Gsl2Fitter, the magic number 100 was actually the maximum number of iterations. 

Former-commit-id: 1ea30e5
The globals_ variable had been added for simplicity, but was only used in a single instance so created unnecessary code bloat.

Former-commit-id: 180ed87
When tests is enabled we now search for the UnitTest++ library and includes. This package is not currently required since the written tests do not explicitly use it. (yet)

Former-commit-id: 90cfe6c
The CMakeLists.txt have all been updated so that we can begin to build the tests for the classes in Core. I have added the UnitTest++ package as a required package before the utkscan tests can be built. 

Former-commit-id: 6163282
I have moved the Model_* methods to be public so that they can be unit tested. I am also tweaking the methods so that they use const references to avoid unnecessary copies. 

Former-commit-id: 8342231
Creating unit tests for Identifier to ensure that the methods are working properly. 

Former-commit-id: d768cf9
I also moved the methods to calculate the parameters to protected from public. 

Former-commit-id: 7f59305
I wanted to move this up a directory since I will soon be writing unit tests for some of the other classes not specific to utkscan.

Former-commit-id: 5673860
It was used for exactly two values, which are repeated and hard coded in the Unpacker class. They are not used at all in any of the utkscan related code, and are unnecessary. 

Former-commit-id: 6a0f20f
Changed reboot message from "... any key ..." to "... Enter key ...".
This fixes #142.

Former-commit-id: 8e51496
The pixie configuration file, pixie.cfg, can now handle an arbitrary
number of module types. This is handled by the new tag ModuleType. The
tags were split into two groups, module and global types. The global
types include:
 * PixieBaseDir
 * CrateConfig
 * SlotFile
 * DspSetFile
 * DspWorkSetFile
While the module type tags include:
 * ModuleType
 * ModuleBaseDir
 * SpFpgaFile
 * ComFpgaFile
 * DspConfFile
 * DspVarFile
If the ModuleType tag is not found all module type files are assumed to
be set for the "default" module type, once a ModuleType tag is found all
subsequent files are assumed to be unique to that module type.

For global type tags the PixieBaseDir is used. For module type tags the
ModuleBaseDir is used first, followed by the PixieBaseDir. If no valid
base directory is found the current working directory is used as the
base.

It is no longer required to indicate in the slot_def.set file which
modules use the default and alternate configurations. The configuration
is determined by polling the module for its type and using the
configuration specified for that type. If no matching type was
registered in the configuration an error message is produced. For system
with a single type of modules if the module type was not found the
"default" type is tried.


Former-commit-id: 9ef7fbe
When the user changes `PXI_ROOT_DIR` in the cache, nothing happens as the
underlying `PXI_LIBRARY_DIR` is cached. Changed to force a new search at
every cmake invocation.

Also, require libPixie16Sys.a to be present in `PXI_LIBRARY_DIR`.


Former-commit-id: b0d7765
The module now provides PXI_LIBRARY_DIR and PXI_FIRMWARE_DIR.
PXI_LIBRARY_DIR specifies the location of the libraries needed for
compilation.
PXI_FIRMWARE_DIR specifies the directory where the firmware files can be
found, typically /opt/xia/.
PXI_CONFIG now search PXI_FIRMWARE_DIR for multiple firmwares for
various module types and attempts to determine their type. This is then
assembled into the pixie.cfg file written to share/config.


Former-commit-id: 6bb56dc
Any modules types listed same as a previous one will be ignored.


Former-commit-id: 76b4a97
spaulaus and others added 16 commits January 31, 2017 14:30
I have also adjusted the name of the different libraries so that they are more explicit. For example, there was PixieCoreStatic, which was renamed to PaassCoreStatic. This makes things slightly more focused on the software that we're building and not on Pixie in general (ignore the P in PAASS). The pugixml software has been moved to ThirdParty.
The CMakeLists.txt had a few things that needed tweaked for the code review. I renamed BUILD_SUITE to BUILD_ACQ. This now removes nearly all of the the PixieSuite left overs. I also cleaned up some of the comments. 

The ThirdParty libraries are now built into individual libraries instead of one big one. This should make it easier for users who only need specific libraries to link against them.
Previously, the ldf DATA buffer writer incorrectly
handled occurances where the spill footer could not
fit in the current buffer. This was causing certain
DATA buffers to have a number of words less than
8194 and, in turn, causing the ldf reader to get
out of position.
We added a method to convert from IEEE Floating point standard number to human readable decimal number. Added a unit test for this funciton, and fixed the ouput in set2ascii. We did this so that we could use these number in calculations, and verfications of settings.
These missing headers caused compilation issues on some computers.
Changed to ../install from build.
Some messages were not set to STATUS causing them to appear on the
screen in ccmake.
When a command is entered the prompt is cleared until GetCommand is
called again. The KEY_UP and KEY_DOWN commands call clear_ and required
printing of the prompt after the clear_ as well.
@ksmith0 ksmith0 requested a review from tking53 May 15, 2017 15:07
@ksmith0 ksmith0 requested review from spaulaus and removed request for tking53 June 7, 2017 13:51
@ksmith0
Copy link
Contributor Author

ksmith0 commented Jun 8, 2017

Prior to this the prompt would reappear immediately adfter the command was entered. If a command took some time to complete it appeared as if nothing happened and the user would retype the command to be surprised by the eventual output.

@spaulaus
Copy link
Member

spaulaus commented Jun 8, 2017

I think this is now too far out of date to fix properly. I'm going to close this PR and start a new one. However, i can confirm that this works as described.

@spaulaus spaulaus closed this Jun 8, 2017
@spaulaus
Copy link
Member

spaulaus commented Jun 8, 2017

@ksmith0, can you update this branch to the latest HEAD of dev and resubmit the request? I can then approve it. I suggest also adding a long running command to the CTerminalTest so that we can test features like this in the future.

@ksmith0
Copy link
Contributor Author

ksmith0 commented Jun 8, 2017

This need to be rebased or cherry-picked before being merged.

Copy link
Member

@spaulaus spaulaus left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Needs rebased and updated before merging.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants