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

DM-39105: Write TMA state machine and event generator #52

Merged
merged 130 commits into from
Jul 19, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
130 commits
Select commit Hold shift + click to select a range
de176df
A rough first pass at writing things
mfisherlevine May 9, 2023
9aa65ef
More TMA tests
mfisherlevine Jun 15, 2023
67b006e
Add getAxisAndType tests
mfisherlevine Jun 15, 2023
9c423cc
Add some tests for event maker, allow init with existing client
mfisherlevine Jun 15, 2023
66b1e4c
Move data fetch to class method
mfisherlevine Jun 15, 2023
d1f2aaa
Some flake8 cleanup
mfisherlevine Jun 15, 2023
085d62e
Add correct row values
mfisherlevine Jun 15, 2023
fb39142
Add some new TMA properties and tests. Tests DO NOT PASS
mfisherlevine Jun 15, 2023
5d71aac
Add some aliases for state collapse, fix test
mfisherlevine Jun 15, 2023
aa76ac1
Change == to is for bool comparison
mfisherlevine Jun 15, 2023
41cf077
Ensure the monotonic application of rows, add tests for that, add deb…
mfisherlevine Jun 15, 2023
c5cba8a
Add axesInFault property
mfisherlevine Jun 15, 2023
2e296f7
Add some docs, move some code
mfisherlevine Jun 15, 2023
950018d
Continue moving things to properties, remove duplicate canMove
mfisherlevine Jun 15, 2023
151c055
Add more properties and touch the state on apply()
mfisherlevine Jun 16, 2023
c931fbb
Finish up state logic. Add engineering mode, remove MOVING_POINT_TO_P…
mfisherlevine Jun 16, 2023
cb3ef28
Add tests for applying full day of data to TMA state machine
mfisherlevine Jun 16, 2023
58e5718
Fix flake8 errors, no code changes
mfisherlevine Jun 16, 2023
8cda6bc
Nominally working
mfisherlevine Jun 20, 2023
c19b516
Add __repr__ and __str__
mfisherlevine Jun 20, 2023
e3a22e0
Use __str__ for __repr__ instead, and fix gap in enum
mfisherlevine Jun 20, 2023
175043d
Remove sync option, rename seqtype, fix typo, add todos
mfisherlevine Jun 20, 2023
1228c4a
Fix typo
mfisherlevine Jun 20, 2023
84af9d3
Protect import, remove xxx
mfisherlevine Jun 20, 2023
4ae67b6
Starting some tidy up
mfisherlevine Jun 20, 2023
a3754fe
Add test for getSubTopics, more tidy up
mfisherlevine Jun 20, 2023
608afff
Finish adding column support
mfisherlevine Jun 20, 2023
af8795f
Remove unused code
mfisherlevine Jun 20, 2023
a4736b0
Remove more unused code, start adding some docs
mfisherlevine Jun 20, 2023
7e98d61
Add items to __all__, remove XXX
mfisherlevine Jun 20, 2023
fb58103
Some tweaks to printing
mfisherlevine Jun 20, 2023
4232891
Add end to end test
mfisherlevine Jun 20, 2023
f3927ce
Change _makeValid to _initializeTma
mfisherlevine Jun 20, 2023
be8425c
Add nest_asyncio for notebook usage
mfisherlevine Jun 20, 2023
98c54ea
Add event plotting utility
mfisherlevine Jun 21, 2023
468a75b
Make legend box opaque
mfisherlevine Jun 21, 2023
27dc25b
Add titles to plots
mfisherlevine Jun 21, 2023
2a23ca3
Add command aliases and option to supress EFD warnings on no data
mfisherlevine Jun 21, 2023
9b18e92
Just moving some plotting code around, no real changes
mfisherlevine Jun 21, 2023
fd421fb
Add command getting utility function and plotting of commands
mfisherlevine Jun 21, 2023
6800948
Fix bug in how None-commands are plotted
mfisherlevine Jun 22, 2023
5c924fb
Fix bug where command time was not actually being plotted
mfisherlevine Jun 22, 2023
3530d24
Add TODO for padding commands
mfisherlevine Jun 22, 2023
ba429a3
Fix (support) negative timespans properly
mfisherlevine Jun 22, 2023
6e6c7b5
Add getStateAtTime function
mfisherlevine Jun 22, 2023
6404431
Rewrite getStateAtTime to allow getting row itself back too
mfisherlevine Jun 22, 2023
e3809db
Fix off by one error in dayObs window calculation
mfisherlevine Jun 23, 2023
a9c35f1
Fix behaviour for no EFD data found and add test for it
mfisherlevine Jun 23, 2023
d735f81
Add support for base when making EFD client
mfisherlevine Jun 26, 2023
bf0dea2
Add event version numbers, start on finishing docs
mfisherlevine Jun 27, 2023
eca11fc
Add version number to event
mfisherlevine Jun 27, 2023
e2adc5d
Allow passing in data to plot
mfisherlevine Jun 27, 2023
4fd7baf
Fix minor bug in parsing state list
mfisherlevine Jun 27, 2023
7a0934d
Sanitize last event if it is unclosed
mfisherlevine Jun 27, 2023
e41fbcf
Start fixing up docs
mfisherlevine Jun 27, 2023
fc5ddb0
Finish docs for efdUtils
mfisherlevine Jun 28, 2023
c0c76b4
Finish tmaUtils docs
mfisherlevine Jun 28, 2023
3ab3be8
Rename TMA to TMAStateMachine
mfisherlevine Jun 28, 2023
b02d171
Add docs for TMAState enum
mfisherlevine Jun 28, 2023
cf19d73
Fix how we handle open final events
mfisherlevine Jun 28, 2023
3a1592c
Add mount torques to plot
mfisherlevine Jun 28, 2023
37f9f5e
Add clipDataToEvent and astropyToEfdTimestamp methods
mfisherlevine Jun 28, 2023
c1c22bd
Add new command aliases and TODO note
mfisherlevine Jun 28, 2023
61e8d57
Add sharex=True to plots
mfisherlevine Jun 28, 2023
4012b92
Deal with some components having data but not all
mfisherlevine Jun 28, 2023
1edfc60
Add logging for when current day end in an open event
mfisherlevine Jun 28, 2023
ff4b575
Add convenience function for getting maximal torques from RubinTV table
mfisherlevine Jun 29, 2023
10e7966
Write function to allow for event introspection/deugging
mfisherlevine Jun 29, 2023
3df7673
Add method for looking at a whole day's evolution
mfisherlevine Jun 29, 2023
5e1653e
Add getDayObsForTime utility function
mfisherlevine Jun 29, 2023
0aaa577
Add findEvent method
mfisherlevine Jun 29, 2023
f3e85d2
Fix formatting of Raises section
mfisherlevine Jun 30, 2023
1081c1c
Add block data to all events on creation.
mfisherlevine Jul 5, 2023
cbc8024
Fix bug where calcNextDay returned a string not an int
mfisherlevine Jul 5, 2023
8f7904c
Switch to noWarn for scraping data during event generation
mfisherlevine Jul 5, 2023
181ae30
Invert the log messages when time falls between events
mfisherlevine Jul 5, 2023
a9b5199
Change how ScriptStatePoint print themselves
mfisherlevine Jul 5, 2023
282a9aa
Move all T&S enums to enums.py for easier removal
mfisherlevine Jul 6, 2023
07420fe
Add missing items to __all__
mfisherlevine Jul 7, 2023
27df3c2
Increase test coverage for efdUtils before responding to review
mfisherlevine Jul 7, 2023
637d299
Increase test coverage for tmaUtils before responding to review
mfisherlevine Jul 8, 2023
e7f94cf
Add test data values and functions to get/regenerate them
mfisherlevine Jul 10, 2023
41d6ce1
Change all instances of private_sndStamp to private_efdStamp, switch …
mfisherlevine Jul 10, 2023
272f289
Remove TOPIC_ALIASES completely
mfisherlevine Jul 11, 2023
e27ef9a
Fix docstrings
mfisherlevine Jul 11, 2023
b4fde5b
Remove parens around assert
mfisherlevine Jul 11, 2023
316e2d9
Rename noWarn to warn
mfisherlevine Jul 11, 2023
05a91b0
Change f-string to use {site=} syntax
mfisherlevine Jul 11, 2023
a587c8f
Make astropyToEfdTimestamp explictly return UTC
mfisherlevine Jul 11, 2023
01a142b
Simplify the calculation of dayObs start time
mfisherlevine Jul 11, 2023
fadb878
Make getDayObsEndTime more obvious
mfisherlevine Jul 11, 2023
b8f2658
Update docs for getAzimuthElevationDataForEvent
mfisherlevine Jul 11, 2023
7442cfe
Remove beginFloat and endFloat properties from events.
mfisherlevine Jul 11, 2023
5619d97
Add docs for TMAEvent and add check for version when sorting
mfisherlevine Jul 11, 2023
7372df7
Move _turnOn() function into tests
mfisherlevine Jul 11, 2023
fb2a3d0
Add raise if regex fails
mfisherlevine Jul 11, 2023
e682f3f
Add a $ to end of regex to match end of line
mfisherlevine Jul 11, 2023
b50c162
Rename ReferenceList to ListViewOfDict and update docs
mfisherlevine Jul 11, 2023
67b9cb4
Update docs on the TMA model
mfisherlevine Jul 11, 2023
739818d
Improve docstring on TMAStateMachine.apply()
mfisherlevine Jul 11, 2023
9f5e03c
Add docs for isToday method
mfisherlevine Jul 11, 2023
b58d346
Simplify the data-getting logic a little
mfisherlevine Jul 11, 2023
59bd7c5
Change _noDataFound() to dataFound()
mfisherlevine Jul 11, 2023
a628601
Remove unnecessary list comp
mfisherlevine Jul 11, 2023
e90367e
Make variable name consistent with arg it is used for
mfisherlevine Jul 11, 2023
60aa5ef
Add docstring for TMAEventMaker
mfisherlevine Jul 11, 2023
dfbe28f
Add docs for printing methods
mfisherlevine Jul 11, 2023
c20f752
Change all positional args to kwargs in _getBeginEnd, remove unnecess…
mfisherlevine Jul 11, 2023
3cec86e
Make columns arg actually be optional
mfisherlevine Jul 11, 2023
7513ff2
Improve docstring for getMostRecentRowWithDataBefore
mfisherlevine Jul 11, 2023
db9bc8d
Fix formatting in raises section
mfisherlevine Jul 11, 2023
28c4bb1
Add sanity check on input time for getMostRecentRowWithDataBefore
mfisherlevine Jul 11, 2023
0620ffc
Remove getStateAtTime until RFC-941 is passed and implemented
mfisherlevine Jul 11, 2023
b6208c7
Use full class names in docs, fix backticks
mfisherlevine Jul 11, 2023
aa494bd
Update docs on getTorqueMaxima
mfisherlevine Jul 11, 2023
ec6914d
Move type checking on commands to before figure init
mfisherlevine Jul 11, 2023
71bd998
Clarify handle and label naming
mfisherlevine Jul 11, 2023
24a1ca1
Change commands to be a tuple from a list in args
mfisherlevine Jul 11, 2023
2eaeae0
Add Parameters section to _initializeTma() and __turnOn()
mfisherlevine Jul 11, 2023
6529bd3
Clarify the use of newlines in f-strings in comment
mfisherlevine Jul 11, 2023
76a0ada
Remove spurious Raises section
mfisherlevine Jul 11, 2023
7cdc535
Remove vestigial bare return
mfisherlevine Jul 11, 2023
36f4880
Unpack tuple directly in for loop
mfisherlevine Jul 11, 2023
b71d0ce
Use a dataclass instead of a tuple for the parsed states
mfisherlevine Jul 18, 2023
ebce02f
Fix torque axis label to be Nm from nM
mfisherlevine Jul 18, 2023
9ab4d0b
Fix edge case in event finding, add test, improve error message
mfisherlevine Jul 19, 2023
68caf97
Add ticket number for TODOs
mfisherlevine Jul 19, 2023
f33c9a2
Skip tests using the EFD until DM-40101 is done
mfisherlevine Jul 19, 2023
331e036
Protect nest_asyncio import until RFC-948 is implemented
mfisherlevine Jul 19, 2023
f18eca7
Remove accidentally committed file
mfisherlevine Jul 19, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Loading